2011-06-23 55 views
5

Vấn đề của tôi là tương tự với điều này: http://www.eclipse.org/forums/index.php/m/649323/CMake tạo Dự án CDT Eclipse không có hệ thống Bao gồm

Tôi tạo ra một dự án cmake, và sử dụng

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

để tạo ra một dự án Eclipse CDT4.

Nhưng trong IDE CDT, tiêu chuẩn bao gồm đường dẫn không được liệt kê và tất cả tệp tiêu đề STL hoặc hệ thống tích hợp sẵn bao gồm chỉ thị được đánh dấu là "không thể được giải quyết", do đó, "Khai báo mở" hoặc nhiều hoạt động không thể được thực hiện.

Tuy nhiên, tôi có thể biên dịch nó mà không gặp bất kỳ sự cố nào.

Đồng nghiệp của tôi cũng có dự án cmake, nhưng nó rất phức tạp. Dự án CDT được tạo ra từ dự án cmake DOES của mình có hệ thống bao gồm. Nhưng cmake của anh ấy quá phức tạp, và anh ấy nói với tôi rằng anh ấy không làm gì đặc biệt để bao gồm các đường dẫn hệ thống.

Có ai có thể giúp tôi không? Cảm ơn.

My Main 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) 

Peter

Một workaround là để tự thêm chúng vào IDE CDT:

/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 

Nhưng nó không phải là giải pháp.

+0

http://stackoverflow.com/questions/1564668/cmake-and-eclipse-default-include-paths Đây chỉ là giải pháp thay thế. Không phải là giải pháp –

+0

Để đặt hệ thống bao gồm tự động, bạn có thể xem tại đây: http://stackoverflow.com/questions/26444845/cmake-generated-c-project-with-system-and-standard-includes – Tik0

Trả lời

1

cuối cùng tôi đã tìm ra rằng dòng này gây ra vấn đề:

Project(MyProjectName CXX) 

Nếu chúng ta loại bỏ các tùy chọn paramter CXX, cuộc sống là tốt.

Có ai cho tôi biết lý do không?

Peter

+0

Tôi có chính xác cùng một vấn đề, nhưng đối với tôi nó không giúp loại bỏ CXX. Eclipse vẫn không thể tìm thấy std :: string hoặc resolve #include . Odd! – joscarsson

Các vấn đề liên quan