8

我正在尝试包含调试/发布依赖的编译器标志,例如:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x -Wall -DUSE_BOOST")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall")
set(CMAKE_CSS_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall -O3")

我使用以下命令创建我的构建文件夹:

cmake -DCMAKE_BUILD_TYPE=Release -D UseFortran=True -D CMAKE_CXX_COMPILER=g++-4.6 ~/repos/cliques/cliques

但是,对于 CMAKE 版本 2.8.7,CMAKE_BUILD_TYPE 似乎被忽略了。它似乎与 2.8.4 版(在另一台机器上)完美配合,所以这种方法是否已被弃用或者这里还有其他问题?

曾娜

4

4 回答 4

5

你有一个错字。你的代码说CMAKE_CSS_FLAGS_RELEASE。注意CSS,应该是CXX

于 2014-02-07T01:25:49.987 回答
4

-D问题是变量和变量之间必须有一个空格。也就是说,它应该是:

cmake -D CMAKE_BUILD_TYPE=Release -D UseFortran=True -D CMAKE_CXX_COMPILER=g++-4.6 ~/repos/cliques/cliques
于 2012-06-14T15:45:26.273 回答
2

我认为他们在以前的版本中制作了一个 Typo In CMAKE_BUILD_TYPE。我们遇到了这个问题,这里有一条行得通的线。

cmake -D CMAKE_BUILD_TYPE:STRING=Debug ../src

您可以使用以下方法检查一切是否正常:

cmake -L ../src

使用此命令可以为您提供命名变量 CMAKE_BUILD_TYPE 的正确方法。

祝你好运。

于 2013-09-16T18:26:02.940 回答
1

-DCMAKE_BUILD_TYPE=Debug为什么在创建构建文件夹时不使用, ?Cmake 构建 Release 类型项目或 Debug 类型项目,不能同时使用。

于 2012-06-18T01:50:03.623 回答