Народ! Помогите пожалуйста, начинаю программировать на с++ под freebsd. Хочу подключить библиотеку vector - самая простенькая программа работать отказывается. Все библиотеки я специально перекопировал из папки /usr/include/g++/ в папку /usr/include. Дополнил переменные в /etc/defaults/rc.conf
ldconfig_paths="/usr/include/g++/ /usr/include/ /usr/lib/compat /usr/X11R6/lib /usr/local/lib"
#include <vector>
int main () {}echo# gcc vector.c -c
In file included from /usr/include/stl_algobase.h:39,
from /usr/include/vector:30,
from vector.c:1:
/usr/include/stl_relops.h:36: syntax error before `<'ХЭЭЭЭЭЛП!!!!
>Народ! Помогите пожалуйста, начинаю программировать на с++ под freebsd. Хочу подключить библиотеку
>vector - самая простенькая программа работать отказывается. Все библиотеки я специально
>перекопировал из папки /usr/include/g++/ в папку /usr/include. Дополнил переменные в /etc/defaults/rc.conf
>
>ldconfig_paths="/usr/include/g++/ /usr/include/ /usr/lib/compat /usr/X11R6/lib /usr/local/lib"
>
>
>#include <vector>
>int main () {}
>
>echo# gcc vector.c -c
>In file included from /usr/include/stl_algobase.h:39,
>
> from /usr/include/vector:30,
>
> from vector.c:1:
>/usr/include/stl_relops.h:36: syntax error before `<'
>
>
>
>ХЭЭЭЭЭЛП!!!!честно говоря, всем надоело отвечать на такие вопросы..
а так, - не gcc а g++,
gcc это С-компилятор и плюсовых шаблонов он без множества флагов не поймёт..
используйте g++ для компиляции C++ исходников.неужели так сложно запомнить
CC = gcc = c-compiler
CXX = c++ = c++ compiler
CFLAGS = опции gcc
CXXFLAGS = опции С++
и так далее по переменным окружения..
ну на крайний случай есть же google..p.s. кстати, у кого хорошо с литературным языком, напишите элементарные вещи в "СОВЕТЫ"...у меня получаются либо выдержки из make-файлов, либо непечатно...
В дополнение к предидущему сообщению.
Расширение имени файла .c указывает на язык программирования "С"
vector - это класс используемый в C++, что бы указать gcc что вы хотите использовать С++ используйте соответствующее расширение - .cpp
можно также использовать .cxx .CC может ещё какие есть я не знаю
>Народ! Помогите пожалуйста, начинаю программировать на с++ под freebsd. Хочу подключить библиотеку
>vector - самая простенькая программа работать отказывается. Все библиотеки я специально
>перекопировал из папки /usr/include/g++/ в папку /usr/include. Дополнил переменные в /etc/defaults/rc.conf
>
>ldconfig_paths="/usr/include/g++/ /usr/include/ /usr/lib/compat /usr/X11R6/lib /usr/local/lib"
>
>
>#include <vector>
>int main () {}
>
>echo# gcc vector.c -c
>In file included from /usr/include/stl_algobase.h:39,
>
> from /usr/include/vector:30,
>
> from vector.c:1:
>/usr/include/stl_relops.h:36: syntax error before `<'
>
>
>
>ХЭЭЭЭЭЛП!!!!
Я под FreeBSD начинал программировать. Ничего этого делать не нужно
В отличии от компиляторов Borland под виндовоз, где допускаются вольности,
в gcc, c++, g++ после такого #include <vector> все переменные этого типа нужно объявлять примерно так: std::vector<type>
Если перед каждым объявлением "std::" писать лень, напиши вначале исходника, после #include <vector> using namespace std;