[CMake] Linking with -l and -L flags

kmorel kmorel at sandia.gov
Fri Jan 13 08:53:05 EST 2006


>> 
>> I'm not sure, but the problem seems to be that the linker is favoring
>> shared object libraries over static libraries regardless of the order of
>> the -L paths.  Thus, if I want to link in my static Tcl library the
>> linker never chooses it.
> 
> Can you verify that with a make VERBOSE=1 to see the -L orders.
> Then an otool -L executable.

Make VERBOSE=1 reveals the following compile line:

c++       -Wno-deprecated -noprebind -fPIC  ParaView.o    -o
/Users/kmorel/distributions/ParaView/build/bin/paraview
-L/Users/kmorel/distributions/ParaView/build/bin
-L/Users/kmorel/distributions/ParaView/build/Utilities/TclTk/tcl8.4.5/unix
-L/Users/kmorel/distributions/ParaView/build/Utilities/TclTk/tk8.4.5/unix
-L/usr/X11R6/lib -lvtkKWParaViewCS -lvtkClientServer -lvtkKWParaView
-lKWWidgets -lvtkPVServerManagerTCL -lvtkPVServerManager
-lvtkPVServerCommonTCL -lvtkCommonTCL -ltcl8.4 -ltk8.4 -lvtkPVFiltersCS
-lvtkPVFilters -lvtkXdmfCS -lvtkXdmf -lXdmf -lvtkWidgetsCS -lvtkWidgets
-lSPCTH -lvtkVolumeRenderingCS -lvtkVolumeRendering -lvtkPVServerCommonCS
-lvtkPVServerCommon -lKWCommon -lvtkhdf5 -lm -lvtkParallelCS -lvtkParallel
-lvtkHybridCS -lvtkHybrid -lvtkexoIIc -lvtkNetCDF -lvtkRenderingCS
-lvtkRendering -lvtkftgl -lGL -lvtkfreetype -lGL -lXt -lSM -lICE -lSM -lICE
-lSM -lICE -lX11 -lXext -lX11 -lXext -lX11 -lXext -lvtkGenericFilteringCS
-lvtkGenericFiltering -lvtkGraphicsCS -lvtkGraphics -lvtkImagingCS
-lvtkImaging -lvtkIOCS -lvtkIO -lvtkDICOMParser -lvtkpng -lvtktiff -lvtkzlib
-lvtkjpeg -lvtkexpat -lvtkMPEG2Encode -lvtkFilteringCS -lvtkFiltering
-lvtkCommonCS -lvtkClientServer -lvtkCommon -lvtksys -framework AppKit
-lpthread -lm 

otool -L paraview reveals

paraview:
        /System/Library/Frameworks/Tcl.framework/Versions/8.4/Tcl
(compatibility version 8.4.0, current version 8.4.0)
        /usr/X11R6/lib/libGL.1.dylib (compatibility version 1.2.0, current
version 1.2.0)
        /usr/X11R6/lib/libXt.6.dylib (compatibility version 6.0.0, current
version 6.0.0)
        /usr/X11R6/lib/libSM.6.dylib (compatibility version 6.0.0, current
version 6.0.0)
        /usr/X11R6/lib/libICE.6.dylib (compatibility version 6.3.0, current
version 6.3.0)
        /usr/X11R6/lib/libX11.6.dylib (compatibility version 6.2.0, current
version 6.2.0)
        /usr/X11R6/lib/libXext.6.dylib (compatibility version 6.4.0, current
version 6.4.0)
        /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
(compatibility version 45.0.0, current version 743.39.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 71.1.3)

-Ken




More information about the CMake mailing list