【问题标题】:CMake Visual Studio 'Debug' FolderCMake Visual Studio“调试”文件夹
【发布时间】:2011-08-29 11:38:22
【问题描述】:

Visual Studio 坚持在使用 CMake 时,它​​必须在 bin/Debug/ 而不仅仅是 bin/ 中创建可执行文件。 有没有办法解决这个问题?

【问题讨论】:

    标签: visual-studio cmake


    【解决方案1】:

    是的,但不是很漂亮……

    您需要更新ALL目标上的RUNTIME_OUTPUT_DIRECTORYLIBRARY_OUTPUT_DIRECTORYARCHIVE_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/ 目录中。

    【讨论】:

    • 有没有办法将 pdb 文件放在 bin/ 目录中,即使不满意?
    • 不,不是真的,除了自己做:我还没有做,但我正在考虑运行一个“复制” *.pdb 的构建后脚本(可能是来自目标列表的那些) ) 到 bin 目录...但它不会真正可扩展。
    • 好吧,也许我会尝试这样做。我稍后会对此进行测试,希望它会起作用。
    猜你喜欢
    • 1970-01-01
    • 2016-12-14
    • 2012-01-10
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    相关资源
    最近更新 更多