15

我正在尝试从现有的 cmake 文件生成 eclipse .project 和 .cproject 。从项目根目录运行 cmake 我尝试添加到根 CMakeLists.txt 集(CMAKE_ECLIPSE_VERSION=4.2),如果我理解正确的话,它显然可能什么都不做,因为它是一个局部变量,而不是全局环境变量。

尝试像这样将标志添加到命令行:

cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_VERSION=4.2 .

产生以下警告。那么如何让 cmake 知道 eclipse 版本呢?

-- 无法确定 Eclipse 版本,假设至少为 3.6 (Helios)。如果这是错误的,请调整 CMAKE_ECLIPSE_VERSION。

我检查了 .project 文件,它似乎正在使用 cdt 4。很旧。

凯斯滕

4

3 回答 3

23

我遇到了同样的问题,在查看 CMake 的代码后,我注意到用于获取 Eclipse 版本的实际变量名为 _ECLIPSE_VERSION(以下划线开头)而不是 CMAKE_ECLIPSE_VERSION。代码如下所示:

cmake -G"Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.2 .

这对我有用!

编辑:旧版本的 CMake 无法识别 Eclipse 4.2(使用 CDT 8.1),但可以识别 3.7(使用 CDT 8.0)。我使用 -D_ECLIPSE_VERSION=3.7 并且 Juno 很好地选择了项目配置(以前由于默认生成的 CDT4 文件不兼容,我有未解决的包含)。正如 m3tikn0b 所指出的,在 Eclipse Kepler 4.3 之前,较新版本的 CMake 可以识别。

于 2013-04-23T22:35:24.307 回答
4

CMake 中有一个错误。请参阅0014422:CMAKE_ECLIPSE_VERSION 未考虑在内。问题跟踪器说它将在 cmake 2.8.13 中更正。

于 2013-12-06T19:47:37.607 回答
2

同样的问题。经过搜索,我找到了以下解决方案:

以前尝试过:

cmake -G"Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.2  ../src

它不起作用。然后我尝试了:

cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_VERSION=4.2  ../src

这对我有用..我希望它有所帮助。

于 2016-11-03T17:19:57.717 回答