URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4592
[ Назад ]

Исходное сообщение
"Не могу подключить библиотеку..."

Отправлено root1982 , 26-Авг-05 18:46 
Народ! Помогите пожалуйста, начинаю программировать на с++ под 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 `<'

ХЭЭЭЭЭЛП!!!!


Содержание

Сообщения в этом обсуждении
"Не могу подключить библиотеку..."
Отправлено MaximKuznetsov , 26-Авг-05 20:44 
>Народ! Помогите пожалуйста, начинаю программировать на с++ под 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-файлов, либо непечатно...


"Не могу подключить библиотеку..."
Отправлено Андрей , 26-Авг-05 21:41 
В дополнение к предидущему сообщению.
Расширение имени файла .c указывает на язык программирования "С"
vector - это класс используемый в C++, что бы указать gcc что вы хотите использовать С++ используйте соответствующее расширение - .cpp
можно также использовать .cxx .CC может ещё какие есть я не знаю

"Не могу подключить библиотеку..."
Отправлено sandy , 27-Авг-05 12:38 
>Народ! Помогите пожалуйста, начинаю программировать на с++ под 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;