相关疑难解决方法(0)

在CMake中,如何解决Visual Studio 2010尝试添加的Debug和Release目录?

我正在尝试使用Visual Studio 2010在几年前构建一个基于CMake的项目,并且我遇到了与项目的输出目录有关的问题.Visual Studio在输出二进制文件时一直非常热衷于添加Debug /和Release /子目录,由于各种原因,我一直非常热衷于删除它们 - 现在我正在使用新版本的CMake和新版本的Visual Studio,CMake中的旧解决方案似乎不再起作用,我正在寻找找到"新"方法.

使用以前版本的CMake(2.6)和以前版本的Visual Studio(2008),我使用了以下内容:

IF(MSVC_IDE)
    # A hack to get around the "Debug" and "Release" directories Visual Studio tries to add
    SET_TARGET_PROPERTIES(${targetname} PROPERTIES PREFIX "../")
    SET_TARGET_PROPERTIES(${targetname} PROPERTIES IMPORT_PREFIX "../")
ENDIF(MSVC_IDE)
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但似乎不再有诀窍.请问有关类似但更新的解决方法是否可以与CMake 2.8.6和Visual Studio 2010一起使用?

c++ cmake visual-studio-2010

26
推荐指数
3
解决办法
2万
查看次数

如何在CMake中更改Win32版本的可执行输出目录?

我的问题是这样的:我正在使用Visual Studio 2010开发一个小解析器.我使用CMake作为构建配置工具.

但我发现默认的可执行构建行为,不方便.我想要的是,让我的最终计划位于:

E:/parsec/bin/<exe-name>.<build-type>.exe
Run Code Online (Sandbox Code Playgroud)

而不是

E:/parsec/bin/<build-type>/<exe-name>.exe
Run Code Online (Sandbox Code Playgroud)

你会怎么用CMake做到这一点?

c++ cmake visual-studio

13
推荐指数
1
解决办法
2万
查看次数

CMake:根据CMake生成的项目中的配置更改Visual Studio和Xcode exectuables的名称

我需要做的是设置我的可加密名称

program-debug for debug builds and 
program-release(or whatever) for other builds
Run Code Online (Sandbox Code Playgroud)

我希望以真正的跨平台方式实现这一点,同样非常重要 - 我希望以XCode和VS2008为目标 - 所以当我在一种下拉列表中更改配置时,它还必须具有正确的输出名称!我不想用其他-D选项重新生成.vcproj或.xcodeproj(但如果找不到解决方案,我将不得不这样做)

AFAIK cmake变量CMAKE_BUILD_TYPE应该适用于基于make的生成器 - 在make时评估in (如果我错了,请纠正我)

基本上,它是如何根据某些IDE /构建系统中的配置来设置目标选项(而非nessesary名称).它可能对整体cmake目标来说过于具体,但也许你可以提供帮助.

非常感谢!

cmake

7
推荐指数
1
解决办法
3482
查看次数

cmake:添加“ d”后缀以调试静态库

我想为库实现一个类似于这里提到的命名方案:x32 vs x64的库名

设置CMakeLists.txt文件以创建静态库

add_library(test test.h test.cpp)
Run Code Online (Sandbox Code Playgroud)

从cmake列表创建Visual Studio解决方案后,将以如下方式设置项目:将调试库test.lib写入/x64/Debug/test.lib,将发行版本写入/x64/Release/test.lib。我宁愿将它们都写/lib/在调试版本上,但要在调试版本后加上“ d”。这个想法是要

/lib/test.lib
/lib/testd.lib
Run Code Online (Sandbox Code Playgroud)

如果可能的话,还有一个用于64位版本的附加后缀

/lib/test.lib
/lib/test64.lib
/lib/testd.lib
/lib/test64d.lib
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法可以做到这一点?


编辑:以后可以使用这样的库在项目中很好地使用它: 在Windows的Cmake中为Debug和Release版本链接不同的库?


编辑:我在从输出中删除Debug和Release文件夹时遇到问题,可以通过以下答案解决:如何不将Release或Debug添加到输出路径?

c++ cmake visual-studio

5
推荐指数
1
解决办法
4517
查看次数

标签 统计

cmake ×4

c++ ×3

visual-studio ×2

visual-studio-2010 ×1