例子:我下载zlib,放入目录而不编译。 然后创建一个项目尝试使用zlib:
project(hello)
SET(MODULE_PATH C:/modules)
INCLUDE_DIRECTORIES(${MODULE_PATH}/zlib-1.2.8)
add_library(zlib STATIC ${MODULE_PATH}/zlib-1.2.8)
add_executable(hello hello.cpp)
target_link_libraries(hello zlib)
不起作用(vs2015 NMake的cmake):无法确定目标" zlib"的链接语言。 怎么了?如何按需使用库(不需要预编译)
.............好吧,我接近......我希望如此 这是我的导演:
zlib在F:\ cmake \ modules \ zlib-1.2.8
中在F:\ cmake \ test1
中测试项目这是我的CMakeLists.txt:
cmake_minimum_required(VERSION 2.8)
project(hello)
set(BUILD_SHARED_LIBS OFF)
SET(MODULE_PATH ../modules)
list(APPEND CMAKE_MODULE_PATH ${MODULE_PATH})
INCLUDE_DIRECTORIES(${MODULE_PATH}/zlib-1.2.8)
INCLUDE_DIRECTORIES(libs)
add_subdirectory(${MODULE_PATH}/zlib-1.2.8 libs)
add_executable(hello hello.cpp)
target_link_libraries(hello zlib)
现在我可以为nmake或mingw32做成功!
但是...似乎设置(BUILD_SHARED_LIBS OFF)没有效果:zlib gen dll和静态lib和mingw自动链接dll lib。 我不想将target_link_libraries(hello zlib)更改为 target_link_libraries(hello libzlibstatic.a)因为nmake的项目不是这个名字....
现在我怎样才能改进这一点,理想情况下只需要cmake..nmake / ming32-make / make(Borland' s)?