导入由cmake 2.8.5(“Eclipse - Unix Makefile”,也是“Eclipse - MingW Makefile”)生成的项目时,我在Eclipse中遇到了一个奇怪的错误:
处理项目描述文件中更改的链接时出错。 无法创建指向“[project_dir]”的链接,因为它与包含链接资源的项目的位置重叠。
使用[project_dir]我项目的根文件夹的路径。我在Windows 7,Java 7,Eclipse 3.7,全64位。
这条消息究竟是什么意思?我该如何解决?它似乎唯一引起的问题是Eclipse无法解析某些包含路径(在代码窗口中没有错误的“错误”),使用MingW进行编译工作完全正常但是...... / p>
这似乎也会在Eclipse文件夹视图中产生一个奇怪的空“[Subolders]”文件夹...(不知道这是为了什么)
我已经好几次设置了这个项目,但从来没有得到过这个消息......
有什么想法吗?感谢。
答案 0 :(得分:0)
如果生成的Eclipse项目位于项目文件夹内的out-of-source CMake构建文件夹中,我看到Eclipse会生成该消息,即:
cd project_dir
mkdir build
cd build
cmake -G "Eclipse - Unix Makefile" ..
作为变通方法,在项目文件夹旁边生成源内CMake构建或生成构建文件夹,即:
mkdir build
cd build
cmake -G "Eclipse - Unix Makefile" ../project_dir
答案 1 :(得分:0)
对于CMake和Eclipse,源外构建通常可以在~CMake 2.8左右时正常工作。但我刚刚看到您在我的顶级CMakeLists.txt
文件包含此内容时提及的确切错误消息:
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
如果删除该行,则错误消失。 (这感觉就像一个错误,但我没有报告它,或确认它是否是预期的行为......)
答案 2 :(得分:0)
已解决; 我遵循sakra的解决方案,但还不够。我在CMakeLists.txt
添加了以下几行
set(PROJECT_SOURCE_DIR <somewhere>/workspace/project)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
并在 project
目录之外调用,CMake:
cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug <path_to_project>
然后如前所述导入。请注意错误仍然显示,但一切正常,但 Build 工具(pickaxe按钮)除外,因为没有构建配置而无法工作,但只是目标,如下面的屏幕截图所示。