gpt4 book ai didi

path - CMake生成的Eclipse CDT项目没有系统包含

转载 作者:行者123 更新时间:2023-12-04 21:50:04 28 4
gpt4 key购买 nike

我的问题与此类似:http://www.eclipse.org/forums/index.php/m/649323/

我创建了一个 cmake 项目,并使用

cmake .. -G "Eclipse CDT4 - Unix Makefiles"

创建一个 Eclipse CDT4 项目。

但是在CDT IDE中,标准的include路径没有列出,所有的STL或者系统内置的头文件include指令都被标记为“无法解析”,所以“打开声明”或者其他很多操作都做不到.

但是,我可以毫无问题地编译它。

我同事也有一个cmake项目,但是很复杂。从他的 cmake 项目生成的 CDT 项目确实包含系统。但是他的 cmake 太复杂了,他告诉我他没有做任何特别的事情来包含系统路径。

谁能帮我吗?谢谢。

我的主要 CMakeLists.txt:
CMake_Minimum_Required(VERSION 2.8)

# Some settings
Set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
CMake_Policy(SET CMP0015 NEW)

#Include(CMakeProcedures.cmake)
#CheckEnvironment()

# Set the compiler and its version if needed

# Create the project
Project(MyProjectName CXX)

# Set the compiler
Set(CMAKE_CXX_COMPILER /usr/bin/g++)

# Detect whether we are in-source
If (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
Message(FATAL_ERROR "In-source building is not allowed! Please create a 'build' folder and then do 'cd build; cmake ..'")
EndIf()

# Set the output dirs
Set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
Set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

# Add source subdirs to the build
Add_Subdirectory(src)
# Add_Subdirectory(test EXCLUDE_FROM_ALL)

彼得

一种解决方法是手动将这些添加到 CDT IDE:
/usr/include/c++/4.5
/usr/include/c++/4.5/backward
/usr/include/c++/4.5/i686-linux-gnu
/usr/include/i386-linux-gnu
/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/include
/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/include-fixed
/usr/local/include

但这不是解决方案。

最佳答案

我终于发现是这条线导致了问题:

Project(MyProjectName CXX)

如果我们删除可选参数 CXX,生活就会很好。

谁能告诉我为什么?

彼得

关于path - CMake生成的Eclipse CDT项目没有系统包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6448177/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com