Re: Mixed libraries in linker command line



A little more information: the problem seems to be caused by setting project
dependencies. The libraries after the standard Windows ones are added by
the dependencies "manager". Unfortunately, while the libraries are from the
correct projects, the actual compiled units being included are erroneous
(using Debug versions with Release and vice versa). The version of the
library that appears is dependent on the Solution Configuration. For
example, if Release is set, then the Release versions of the dependents will
automatically be inserted (for Release and Debug).

Has anyone seen this before?


Chris


"Chris Frey" <chris.frey@xxxxxxxxxxxxxxxx> wrote in message
news:OHSRBBNLGHA.2336@xxxxxxxxxxxxxxxxxxxxxxx
We are currently having a problem with the linker settings in a solution
that contains multiple projects (solutions with 24 and 130+ behave the
same). For example, the following linker command line options appear in a
release build:

/OUT:"..\..\lib\TAO_IORInterceptor.dll" /VERSION:1.4006 /INCREMENTAL:NO
/NOLOGO /LIBPATH:"." /LIBPATH:"..\..\lib" /DLL /DEBUG
/PDB:"..\..\lib/IORInterceptor.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF
/IMPLIB:"..\..\lib\TAO_IORInterceptor.lib" /MACHINE:X86 ACE.lib TAO.lib
TAO_PortableServer.lib TAO_Valuetype.lib TAO_ObjRefTemplate.lib
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
\Tao\1_4a\ACE_wrappers\lib\TAO_Codesetd.lib
\Tao\1_4a\ACE_wrappers\lib\TAO_PortableServerd.lib
\Tao\1_4a\ACE_wrappers\lib\TAO_ObjRefTemplated.lib
\Tao\1_4a\ACE_wrappers\lib\TAOd.lib
\Tao\1_4a\ACE_wrappers\lib\TAO_Valuetyped.lib

As you can see, the TAO*d.lib files are included in addition to their
release counterparts. The correct link line should end after the standard
libraries (odbc, oleaut, ole, etc). If we check the Input configuration
(additional dependencies) everything looks correct.

Changing the build configuration on the standard toolbar before loading
the properties of a project results in different "extra" libraries
appearing on the linker command line.

Loading the project file into notepad we can see that the Tao\1_4a* path
does not appear anywhere in the file. It also does not appear in the main
solution file or anywhere in the Visual Studio options (VC++ directories).

At first we thought this was just a display bug, but when the projects are
built, both libraries are linked in, which causes memory issues in the
running applications.

We have also tried building the solution from command line using devenv
/rebuild but got the same results (not really surprised there though).

Any suggestions would be appreciated.







.



Relevant Pages

  • Re: Good math/stats libraries for Ruby?
    ... I'm not sure of the best overall scheme for structuring dependencies ... current ruby math libraries are gems. ... I don't mean to say that Python is crummy like ... It doesn't seem like basic scientific and math libraries ...
    (comp.lang.ruby)
  • Re: Dependencies
    ... ports files written by the port maintainers. ... because these dependencies are frequently over strict. ... Apparently there are cases were the version numbers of the libraries are ...
    (comp.unix.bsd.freebsd.misc)
  • Re: OpenGL extensions in Linux (Its not hard?)
    ... Try the binary on other Linux machines and it breaks about 10% ... No, only those libraries, that your programm accesses directly. ... yourself, making sure, that only minimal dependencies, that are ... The engine I'm developing shares the 90% of the ...
    (comp.graphics.api.opengl)
  • Re: binary execution
    ... [Assembly Binding Log Viewer ] ... Try to avoid exotic libraries and try to ... or make sure your installer ... dependencies have been resolved. ...
    (microsoft.public.dotnet.languages.vc)
  • Re: Returning int pointer ?
    ... creating dependencies between files. ... depend on anything other than maybe some standard libraries. ... several arguements, including a message handler, or callback function. ...
    (comp.lang.c)

Loading