Làm cách nào để tạo chuỗi công cụ Linux GCC của CDT giải quyết các tiêu đề thư viện chuẩn C ++?


12

Trong Ubuntu 12.04 LTS, tôi đã cài đặt plugin CDT Eclipse và mở dự án hello world mới để kiểm tra mọi thứ. Khi tôi đang tạo dự án, tôi đã chọn công cụ duy nhất: "Linux GCC"

Khi dự án được tạo, tuy nhiên, nó nói rằng

#include<iostream>
#include<cstdlb>

không được giải quyết. Do đó, các dòng có coutendlkhông thể được sử dụng và nó không thể tìm thấy std.

using namespace std; cũng đang gây ra vấn đề.

Làm cách nào tôi có thể nhận được các #includechỉ thị của mình cho các tiêu đề thư viện chuẩn, để hỗ trợ mã bằng cách sử dụng stdkhông gian tên?


Những lỗi này có tồn tại ngay cả sau khi bạn làm Project> Build All?
Eliah Kagan

2
Có thể đây là một câu hỏi ngu ngốc nhưng bạn đã tạo một dự án mới cụ thể như một dự án C ++ chứ không phải là một dự án C?
bazz

Câu trả lời:


4

Nếu bạn có cùng một vấn đề tôi đã làm, tôi nghi ngờ rằng dự án của bạn xây dựng nhưng việc hoàn thành mã / làm nổi bật mã không thành công? Tôi vừa tìm thấy một số lưu ý có thể hữu ích. Đây là những gì tôi đã làm:

  • Dự án-> Thuộc tính

  • C / C ++ chung

  • Đường dẫn và biểu tượng

  • chọn ngôn ngữ phù hợp

  • Nhấp vào "Thêm" và thêm các thư mục cụ thể của phiên bản trình biên dịch

Đối với ngôn ngữ 'GNU C ++' tôi đã thêm:

  /usr/include
  /usr/include/c++/4.6
  /usr/include/c++/4.6/bits
  /usr/include/i386-linux-gnu
  /usr/include/i386-linux-gnu/bits
  /usr/include/c++/4.6/debug
  /usr/include/c++/4.6/i686-linux-gnu
  /usr/include/c++/4.6/i686-linux-gnu/bits

Đối với "GNU C" tôi đã thêm:

  /usr/include
  /usr/include/i386-linux-gnu
  /usr/include/i386-linux-gnu/bits

TBH, tôi không nghĩ rằng tất cả các thư mục ở trên là thực sự cần thiết (bạn có thể xóa các thư mục 'bit') nhưng danh sách trên hoạt động với tôi tại thời điểm đó.

Tôi hiện đang sử dụng Eclipse Indigo (phiên bản 3.7.2) từ eclipse.org và nó tự động tìm và thêm các thư mục bao gồm chính xác. Danh sách này là khác nhau đối với tôi:

/usr/include/c++/4.6
/usr/include/c++/4.6/i686-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/i686-linux-gnu/4.6/include
/usr/local/include
/usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
/usr/include/i386-linux-gnu
/usr/include

Rõ ràng, chỉ thêm các thư mục bao gồm thực sự tồn tại trên hệ thống của bạn ;-)


Chà, điều này không phù hợp với tôi - mặc dù tôi thực sự đang sử dụng Debian Stretch 64-bit. Nhưng tôi đã thích ứng đề xuất của bạn với nền tảng của tôi.
einpoklum
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.