9

I have a project that builds with CMake system, and I like to import it in Eclipse. However, when I generate eclipse project files with 'cmake -G "Eclipse CDT4 - Unix Makefiles"' there are no default include paths in Eclipse project(such as /usr/include' or the gcc path for standard headers).

How to fix that in most right way?

System: linux gcc 4.3.3 cmake 2.6.4 eclipse 3.5.1

4

4 回答 4

6

您必须转到项目属性(项目上的右键),“C/C++ 包含路径和符号”并将它们添加到此处作为“外部包含路径”。

于 2009-10-14T07:34:40.423 回答
6

在您的 CMakeLists.txt 中尝试添加以下两行:

find_path(STDIO_INCLUDE_PATH stdio.h)
include_directories("${STDIO_INCLUDE_PATH}/dummy/../")

第一行查找stdio.h位于/usr/include我的系统中的路径。第二个将此文件夹添加到 CMake 包含路径。添加该/dummy/../部分是为了欺骗 CMake 添加文件夹(否则不会),最终会被剥离。

这适用于 CMake 2.8.8 和 Eclipse 3.7.2。

于 2012-11-22T16:20:40.870 回答
1

您可以直接从编译器解析目录列表,因此您知道您获得的集合与 CMake 使用的完全相同(假设您的 CMake 设置使用相同的编译器)。然后,将它们拆分成一个带有单独include_directories参数的列表,并使用命令添加它们。

execute_process(
    COMMAND echo
    COMMAND bash -c "g++ -E -Wp,-v - 2>&1"
    COMMAND awk "/^#include .* starts here:$/,/^End of search list/ { if ($0 ~ /^ /) { print } }"
  OUTPUT_VARIABLE SYS_INCLUDES_OUT)
separate_arguments(SYS_INCLUDES UNIX_COMMAND ${SYS_INCLUDES_OUT}) # create a list
include_directories(${SYS_INCLUDES}) # add list to includes

然后它们将包含在生成的 Eclipse 项目中。

于 2018-09-22T14:38:21.923 回答
1

尝试

cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_VERSION=<put here your eclipse version>  ../src

因为我的情况是

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

我希望它有帮助

于 2016-11-03T17:25:25.540 回答