我正在尝试从现有的cmake文件生成eclipse .project和.cproject。从项目根运行cmake我尝试添加到根CMakeLists.txt set(CMAKE_ECLIPSE_VERSION = 4.2),如果我理解正确的话,显然可能什么也不做,因为它是局部变量,而不是全局env变量。
尝试将标志添加到命令行,如下所示:
cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_VERSION=4.2 .
产生以下警告。那么如何让cmake知道eclipse版本呢?
- 无法确定Eclipse版本,假设至少为3.6(Helios)。如果这是错误的,请调整CMAKE_ECLIPSE_VERSION。
我检查了.project文件,似乎正在使用cdt 4.很旧。
kesten
答案 0 :(得分:20)
我有同样的问题,在查看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确实可以识别。
答案 1 :(得分:4)
CMake中存在错误。见0014422: CMAKE_ECLIPSE_VERSION is not taken into account。问题跟踪器说它将在cmake 2.8.13中得到纠正。
答案 2 :(得分: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
这对我有用..我希望它有所帮助。