相关文章推荐
追风的羽毛球  ·  .NET Conf China ...·  1 年前    · 
安静的卤蛋  ·  python 推流 很慢 python ...·  1 年前    · 

来源: http://blog.csdn.net/clever101

在网上搜了很多的资料,发现CMake不能设置一个动态库工程的输出目录和中间目录,难道除了VC之外其它编译器如gcc中没有这样的选项?

设置dll或exe的输出目录可以这样:

SET_TARGET_PROPERTIES(core PROPERTIES RUNTIME_OUTPUT_DIRECTORY ../bin)

这样dll或exe就输出到上一级的bin文件夹的Debug(debug版本)或Release文件夹(release版本)。还有不知道如何设置使用环境变量的路径。

另外dll的导入库的路径设置没有找到,在网上的一篇文章:

CMake/Tutorials/Exportingand Importing Targets

上面给了一个示例命令是:

add_library(bar SHARED IMPORTED)
set_property(TARGET bar PROPERTY IMPORTED_LOCATION c:/path/to/bar.dll)
set_property(TARGET bar PROPERTY IMPORTED_IMPLIB c:/path/to/bar.lib)
add_executable(myexe src1.c src2.c)
target_link_libraries(myexe bar)

    我试了下,并没有效果。还有我不太明白的是为什么设置一个dll的导入库的路径,为什么要指明目标exe程序。

参考文献:

1. CMAKE修改VS大总结

2. CMake使用介绍

作者:朱金灿来源:http://blog.csdn.net/clever101            在网上搜了很多的资料,发现CMake不能设置一个动态库工程的输出目录和中间目录,难道除了VC之外其它编译器如gcc中没有这样的选项?        设置dll或exe的输出目录可以这样:SET_TARGET_PROPERTIES(core PROPERTIES RUNTIME_OUTPUT_DIR Project(CmakeTest) aux_source_directory(. src) #add_executable(project1 ${src}) #编译为可执行程序 #add_library(project1 ${src}) #编译为静态库 add_library(project1 SH... 也就是说: 如果我将工程名称定义如下PROJECT(TEST),那么与该命令关联的变量有四个: TEST_BINARY_DIR(隐式指定:二进制文件保存路径)/TEST_SOURCE_DIR(隐式指定:源码路径) PROJECT_BINARY_DIR(系统预定)/PROJECT_SOURCE_DIR(系统预定) 其中:TEST_BINARY_DIR ==PROJECT_BINARY_DIR 其中:TEST_SOURCE_DIR ==PROJECT_SOURCE_DI.. cmake -DCMAKE_INSTALL_PREFIX=D:/api -DBUILD_TYPE=Debug ../ cmake --build ./ cmake --install ./ cmake -DCMAKE_INSTALL_PREFIX=D:/api -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G"MinGW Makefiles" ../ mingw32-make -f Makefi 方式1.两种设置方式 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIR
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Bin) 以上设置VS会自动新建Debug和Rele...