On Tue, 7 Oct 2008, Andrea Borsic wrote: > Dear All, > > I am a recent user of CMake, and I cannot figure out how to tell CMake that a > TARGET_LINK_LIBRARY is shared. I am working under Windows Xp with MS > VisualStudio 2008, and the following is my CMakeLists file: > > PROJECT(Triangle) > > ADD_LIBRARY(triangle_lib SHARED triangle.c) > > ADD_EXECUTABLE(tricall tricall.c) > > TARGET_LINK_LIBRARIES(tricall triangle_lib) > > With the first target I am building a shared library 'triangle_lib.dll' and > with the second target I'd like to build an executable 'tricall' that links to > such library. > > Linking fails, as VS 2008 is looking for the static library > 'triangle_lib.lib'. I have been searching the forums, and came across an > example: TARGET_LINK_LIBRARIES(tricall SHARED triangle_lib), but then the > linker looks for SHARED.lib, so 'SHARED' in not interpreted as a keyword but > as the name of a library. >
Doesn't Windows always need a .lib file, even if you will runtime link against a .dll? I seem to remember something like that from my Borland days. > Does anybody know how I should specify that I am linking against a shared > library ? > > Thanks in advance for your advice, > > Best Regards, > > Andrea > _______________________________________________ > CMake mailing list > [email protected] > http://www.cmake.org/mailman/listinfo/cmake > > _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
