2011-06-23 12 views
5

が含まれていますがありません:CMakeの生成のEclipse CDTプロジェクトでは、システムは、私の問題は、これと類似している

http://www.eclipse.org/forums/index.php/m/649323/私はcmakeのプロジェクトを作成し、EclipseのCDT4プロジェクトを作成する

​​

を使用しました。

しかし、CDT IDEでは、標準のインクルードパスはリストされておらず、すべてのSTLまたはシステムビルドインヘッダファイルのディレクティブは "解決できません"とマークされているため、 "Open Declaration"操作ができません。

ただし、問題なくコンパイルできます。

私の同僚にもcmakeプロジェクトがありますが、非常に複雑です。彼のcmakeプロジェクトから生成されたCDTプロジェクトには、このシステムが含まれています。しかし、彼のcmakeはあまりにも複雑で、彼はシステムパスを含めるために特別なことをしなかったと私に言った。

誰でもお手伝いできますか?ありがとう。

私のメインCMakeLists.txt:

/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 

しかし、それは解決策ではありません。

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にこれらを追加することです。

+0

http://stackoverflow.com/questions/1564668/cmake-and-eclipse-default-include-pathsこれは単なる回避策です。解決策ではありません –

+0

システムを自動的に設定するには、ここをご覧ください:http://stackoverflow.com/questions/26444845/cmake-generated-c-project-with-system-and-standard-includes – Tik0

答えて

1

私は最終的にこの行が問題を引き起こしていることを考え出し:

Project(MyProjectName CXX) 

我々は、オプションのPARAMTER CXXを削除すると、人生が良いです。

誰でも私にその理由を教えてもらえますか?

ピーター

+0

私はまったく同じ問題ですが、私にとってはCXXを削除するのに役立つものではありません。 Eclipseはまだstd :: stringを見つけることができません。または、#include#を解決してください。奇妙な! – joscarsson

関連する問題