2009-09-19 27 views
5

Tôi đang làm việc với một nhóm nhỏ trong dự án C++ trong NetBeans."Không thể giải quyết ..." trong NetBeans 6.7.1, Linux, C++

Vì một số lý do, NetBeans đang báo cáo những thứ như "chuỗi", "endl", "cout" là "Không thể giải quyết" ngay cả khi các thư viện chính xác đã được đưa vào.

Dự án biên dịch và chạy như mong đợi, do đó, vào cuối ngày, nó không phải là vấn đề lớn, nó chỉ là có tất cả mọi thứ được đánh dấu là một lỗi làm cho nó khá khó chịu.

Tôi chưa thể tìm thấy bất kỳ nội dung nào về lỗi này. Chỉ một tham chiếu mơ hồ trong một blog. Có ai khác trải nghiệm nó không?

Rõ ràng nó không được trải rộng, vì vậy phải có cài đặt/cấu hình gây ra lỗi đó. Có ai biết ai ngăn chặn điều này xảy ra không?

EDIT:

Không, những "lỗi" hoàn toàn chịu trong IDE. Mã biên dịch tốt và chạy. Nhà phát triển đã sử dụng "using namespace std;" nên không có vấn đề gì. Dường như IDE NetBeans là lỗi.

Mẫu mã:

#include <stdlib.h> 
#include <string> 
#include <iostream> 

using namespace std; 

int main(int argc, char** argv) 
{ 
    string test; 
    test = "Why?"; 

    cout << test << endl; 

    return (EXIT_SUCCESS); 
} 

Mã này biên soạn và in ra "Tại sao?" nhưng có "chuỗi", "cout" và "endl" được đánh dấu là lỗi trong IDE. Một cách rõ ràng sử dụng std :: làm cho không có sự khác biệt

Dọn dẹp Chỉnh sửa:

Đối với bất cứ ai quan tâm, một vài ngày sau đó tôi đã có 6 bản cập nhật có sẵn cho NetBeans. Sau khi cài đặt bản cập nhật này, sự cố đã được khắc phục, mặc dù mã không thay đổi. Vì vậy, rõ ràng đó là một lỗi NetBeans.

+0

Bạn có thấy những vấn đề này trong IDE trong khi xuất bản mã hay bạn nhìn thấy chúng trong giai đoạn biên dịch không? –

+1

Trong IDE chỉ trong quá trình mã hóa. Mọi thứ biên dịch và chạy mà không có lỗi hoặc cảnh báo. Đó là mã hoàn toàn hợp lệ, NetBeans chỉ xảy ra không đồng ý với –

+0

Bạn nên bao gồm '' thay vì '' khi bạn viết C++. cstdlib sẽ tận dụng lợi thế của các không gian tên trong C++, trong số những thứ khác. –

Trả lời

0

đối với bất cứ ai quan tâm, một vài ngày sau đó tôi đã có 6 bản cập nhật có sẵn cho NetBeans Sau khi cài đặt bản cập nhật này, vấn đề đã được sửa chữa, mặc dù mã không thay đổi.Vì vậy, rõ ràng đó là lỗi NetBeans.

+0

tôi cũng gặp vấn đề này. Tôi có NetBeans 7.1. Nhưng trong Windows 7. Vẫn không hoạt động. Mã hoạt động tốt. Nhưng lỗi xuất hiện. [đây là vấn đề của tôi] (http://stackoverflow.com/questions/20936513/c-in-netbeans-shows-errorsunable-to-resolve-identifiers-but-the-code-runs-fi) – prime

0

Hãy thử std::string, std::endl, std::cout vv

Hoặc,

using std::string; 
using std::endl; 
using std::cout; 

vào đầu tập tin nguồn của bạn, sau khi bạn bao gồm các thư viện. Có lẽ IDE của bạn đang gắn cờ chúng là lỗi nhưng sau đó sử dụng anyways không gian tên chuẩn.

Bạn cũng có thể chỉ cần sử dụng

using namespace std; 

nhưng mà nói chung là một thói quen xấu vì nó clutters namespace toàn cục, và bạn có thể kết thúc với sự mơ hồ (không gian tên giữa các ý kiến ​​lớn). Cá nhân, tôi chỉ cần đặt std:: trước mọi thứ trong các dự án nhỏ của tôi và using std::______ trong dự án hoặc các khối nơi tôi sử dụng nó trong các dự án lớn hơn.

Anyways, đó là những gì các lỗi âm thanh như thế, nhưng (ít nhất là trong kinh nghiệm của tôi) chương trình không nên biên dịch nếu đây là vấn đề.

Mỗi chỉnh sửa của bạn:
nếu lỗi bạn nhận được chỉ đến từ IDE, có thể bạn có lỗi ở chế độ sai hoặc gì đó? Mã bạn đăng trong ví dụ của bạn đơn giản là đủ C++ mà bất kỳ trình biên dịch hoặc IDE nào sẵn sàng làm việc với C++ sẽ xử lý nó không có vấn đề gì.Nếu các lỗi bạn mô tả đến từ trình biên dịch của bạn, điều đó có nghĩa là bạn không bao gồm không gian tên hoặc bạn đang cố gắng biên dịch mã C++ bằng trình biên dịch C - có thể netbeans nghĩ bạn đang viết C?

+0

Đối với "chương trình sẽ không biên dịch nếu đây là vấn đề.", Vui lòng xem từ câu hỏi thực tế, báo sau: "Dự án biên dịch và chạy như mong đợi" Cảm ơn bạn đã cố gắng trợ giúp. –

+0

Không thể là một trong hai. Nó nhận ra các lớp chúng ta viết chính xác, cũng như vượt qua bằng cách tham chiếu. Tôi không thể nghĩ về bất kỳ chế độ ngôn ngữ nào mà nó có thể là nơi tốt và không phải là chuỗi. –

+0

lạ. Không có gì khác tôi có thể nghĩ đến –

1

hmm .. điều tương tự này đã xảy ra với tôi. Một lần tôi bắt đầu NetBeans lên nó chỉ nhấn mạnh tất cả các cuộc gọi của tôi để OpenGL (gl, glu và glut), và tôi không thể thoát khỏi các lỗi. Nó biên soạn tốt (+ Tôi không thay đổi bất cứ điều gì trong mã kể từ lần cuối cùng nó không có lỗi)

Sau khi đọc bài này tôi đã kiểm tra cập nhật, cập nhật và bây giờ nó không có lỗi :) thường xuyên ..

EDIT:. nvm, bây giờ họ đang nhấn mạnh một lần nữa :(

0

FWIW Tôi gặp vấn đề tương tự với Netbeans 6.8 trên Ubuntu 10.04. Frustratingly Netbeans cũng nói với tôi rằng nó đã được cập nhật trong Help -> Check for updates menu (vì đây là phiên bản hiện tại của Ubuntu).

Xóa Netbeans qua synaptic/aptitude và tải xuống và cài đặt phiên bản mới nhất theo cách thủ công (6.9.1) cũng đã giải quyết được sự cố cho tôi. Tôi hy vọng không có nhiều kho lưu trữ như vậy trong cửa hàng ...

Bây giờ tôi đã giải quyết và áp dụng bản vá hiệu suất this, tôi đã có một IDE thực sự ngọt ngào được thiết lập hoàn thành mã nhanh. Đó là một sự xấu hổ kinh nghiệm này không có sẵn ra khỏi hộp, tôi đã dành một chút công bằng thời gian trên cả hai CDT Eclipse và Netbeans cố gắng để có được những điều làm việc tốt.

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