> Thanks for your help。 but now i am in another trouble. > In Windows,i am trying to build a shard library,It needs to link dynamic > library and static library。 > when i want to link a dynamic library,it comes: > (fatal error U1073:does not know how to generate "ACE.lib") > > AUX_SOURCE_DIRECTORY(. SRC) > ADD_LIBRARY(test SHARED ${FAN_SRC}) > LINK_DIRECTORIES(${ACE_LIB_DIR}) > TARGET_LINK_LIBRARIES(fan ACE) > > 1. Actually, "test" should link "ACE.dll",how to make test link to ACE.dll ? > > 2.if i use LINK_LIBRARIES() instead of TARGET_LINK_LIBRARIES(),this may > work,why ?? > > AUX_SOURCE_DIRECTORY(. SRC) > LINK_DIRECTORIES(${ACE_LIB_DIR}) > LINK_LIBRARIES(ACE) > ADD_LIBRARY(test SHARED ${FAN_SRC}) > > 3.Seems Windows will give priority to link static library,but i need to > link dynamic library in my projects ,how could i do ?? > > 4.how do TARGET_LINK_LIBRARIES() and LINK_LIBRARIES() determine what kind of > library to link ? DO i need to use LINK_LIBRARIES(ACE.dll) instead of > LINK_LIBRARIES(ACE) in Windows ? >
You do not link to DLLs on windows. You link to import libraries when using dlls. During the dll creation it should create a .lib along with the .dll. John -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake