>      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

Reply via email to