2014-01-26 33 views
0

我试图在Windows 7上运行该代码的CMake:图书馆通过CMake在Windows

add_library(xpl SHARED xpl.c) 

if(WINDOWS) 
    set(WIN_EXTRA_LIBS hulamemmgr) 
endif(WINDOWS) 

target_link_libraries(xpl 
    ${WIN_EXTRA_LIBS} 
    ${ALL_LIBS} 
) 

SET_TARGET_PROPERTIES(xpl 
    PROPERTIES 
    VERSION 1.0.0 
    SOVERSION 1 
    INSTALL_NAME_DIR "${LIB_DEST_DIR}" 
) 

install(TARGETS xpl 
    LIBRARY DESTINATION ${LIB_DEST_DIR} 
    ARCHIVE DESTINATION ${LIB_DEST_DIR} 
) 

这CMakeList插入一个子目录,它在较高水平等CMakeList后运行。最后我没有得到任何图书馆。

变量${LIB_DEST_DIR}是正确的,xpl.c代码在CMakeList的同一目录中可用。

有没有错误?为什么我无法获得任何图书馆?我运行CMake-gui,首先配置任务然后生成任务。

感谢 PR

+0

你做了' make install'? CMake中的'install'只能在'make install'上运行。 – Joe

+1

你建立了这个项目吗?运行CMake只会根据您选择的生成器创建Visual Studio解决方案文件或MinGW makefile等。它实际上并不建立图书馆。 – Fraser

回答

0

你必须使用两个命令。

1)的CMake -G “发电机名称” -B “目标路径” -H “源的CMakeLists.txt路径”

2)CMake的--build “目标路径”