visual-studio - CMake Visual Studio 'Debug' 文件夹

标签 visual-studio cmake

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

最佳答案

是的,但不是很漂亮......

您需要更新 RUNTIME_OUTPUT_DIRECTORY , LIBRARY_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/目录中。

关于visual-studio - CMake Visual Studio 'Debug' 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7229571/

相关文章:

c++ - 在构建时从源代码编译 OpenCV 3

docker - Nvidia Jetson Tx2 Opencv 在 Docker 中编译

c++ - 通用配置代码的 Cmake 和编码风格

c - 使用 flex-lexer 和 cmake 构建错误

c# - 系统.IO.IOException : Sharing violation on path

c++ - 错误 C2061 : syntax error : identifier 'Robot'

SQL Server 对象资源管理器不显示当前数据库

c++ - 如何使用 cmake 从 Visual Studio 构建 ia32 解决方案

c# - 安装NuGet包时出错 'Microsoft.AspNet.Http.Extensions 1.0.0-beta3'

c# - 在 Visual Studio 2013 中为 .NET 3.5 调试添加调试符号