Вопрос

Мой IDE (Netbeans) считает, что это неправильный код, но он правильно компилируется:

std::cout << "i = " << i << std::endl;
std::cout << add(5, 7) << std::endl;
std::string test = "Boe";
std::cout << test << std::endl;

Это всегда говорит unable to resolve identifier .... (.... = cout, endl, string);

Поэтому я думаю, что это как -то связано с помощью кода. Я думаю, что мне нужно изменить/добавить/удалить некоторые папки. В настоящее время у меня есть папки:

C компилятор:

/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed
/usr/include

C ++ Компилятор:

/usr/include/c++/4.4.3
/usr/include/c++/4.4.3/i486-linux-gnu
/usr/include/c++/4.4.3/backward
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include
/usr/include

Что может вызвать это, и как я могу заставить NetBeans помечать его как действительный код?

Это было полезно?

Решение

Он отлично работает для меня. Я использую NetBeans 6.8; Единственная неопределенная ссылка, которую я получил, была для функции add ().

Можете ли вы проверить с новым проектом, чтобы увидеть, сможете ли вы воспроизвести проблему?

Изменить (ответ):

Да, протестировано на Linux. NO включает в себя добавленные в свойства проекта.

В глобальных вариантах C/C ++ у меня есть дополнительный путь для C, /usr/include/i486-linux-gnu.
Для C ++ у меня есть:

/usr/include/c++/4.4
/usr/include/c++/4.4/i486-linux-gnu
/usr/include/c++/4.4/backward
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed
/usr/include/i486-linux-gnu
/usr/include

Это мои значения по умолчанию, не трогали их. HTH я также использую GCC-4.4.3 (Ubuntu 10.04).

Другие советы

У вас есть надлежащее включение?

Если я правильно помню, вам нужно

#include <iostream>

Перейдите к инструментам-> Options-> C/C ++-> Инструменты сборки, показывают, что используется компилятор NetBeans. Например

    /usr/bin/g++

Набор в терминале:

    $ whereis g++
    g++: /usr/bin/g++ /usr/bin/X11/g++ /usr/share/man/man1/g++.1.gz
    $ ls -al /usr/bin/g++
    lrwxrwxrwx 1 root root 7 Mar 13  2012 /usr/bin/g++ -> g++-4.6

Покажет, какую версию компилятора использует Netbeans. Если библиотеки на вкладке «Кодовая помощь» не совпадают, вам необходимо изменить их для правильной версии. Например

    /usr/include/c++/4.6
    ...
    /usr/lib/gcc/i686-linux-gnu/4.6/include-fixed

и так далее.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top