【发布时间】:2011-08-29 11:38:22
【问题描述】:
Visual Studio 坚持在使用 CMake 时,它必须在 bin/Debug/ 而不仅仅是 bin/ 中创建可执行文件。 有没有办法解决这个问题?
【问题讨论】:
标签: visual-studio cmake
Visual Studio 坚持在使用 CMake 时,它必须在 bin/Debug/ 而不仅仅是 bin/ 中创建可执行文件。 有没有办法解决这个问题?
【问题讨论】:
标签: visual-studio cmake
是的,但不是很漂亮……
您需要更新ALL目标上的RUNTIME_OUTPUT_DIRECTORY、LIBRARY_OUTPUT_DIRECTORY 和ARCHIVE_OUTPUT_DIRECTORY 属性。您需要为每个配置(调试、RelWithDebInfo 等)执行此操作
最简单的方法是使用他们的 CMAKE_... 等效项“全局”执行此操作。例如。检查以下将 bin/ 和 lib/ 设置为“全局”二进制/库输出目录的示例:
# First for the generic no-config case (e.g. with mingw)
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
# Second, for multi-config builds (e.g. msvc)
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib )
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
或者,您可以尝试遍历所有可用目标并在之后修改其属性...
请注意,这不会设置 .pdb 文件的位置。我仍然没有找到一种令人满意的方法来将所有相关的 .pdb 文件放入 bin/ 目录中。
【讨论】: