Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

gcc - как настроить?

1.2K
25 октября 2007 года
piroman17
175 / / 20.07.2006
у меня стоит gcc (ОС linux). При компиляции следующего кода
 
Код:
#include <stdio.h>
int main()
{
printf("Hello World!\n");
}

возникает ошибка
 
Код:
/tmp/ccQiC4md.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

В чём дело? Как настроить gcc?
245
25 октября 2007 года
~ArchimeD~
1.4K / / 24.07.2006
а как, с какими параметрами компилишь?
 
Код:
gcc program.c
- должен в результате получиться файл a.out
 
Код:
gcc program.c -o program.out
- должен в результате получиться файл program.out
92
25 октября 2007 года
Тень Пса
2.2K / / 19.10.2006
есть возможность тож самое получить...всмысле ошибку.
попробуй g++ :)

тем более, если поискать немного в googl'е текст этой ошибки, то натыкаешься именно на совет использовать g++ вместо gcc
245
25 октября 2007 года
~ArchimeD~
1.4K / / 24.07.2006
зачем g++? это для с++, а у него, как я заметил, сишный код, должен нормально запахать на gcc

я вот думаю, может он отдельно gcc юзает, и потом отдельно ld линкует? а то как-то непонятно, все по идее должно работать.
92
25 октября 2007 года
Тень Пса
2.2K / / 19.10.2006
не, у меня было так же. скомпилить - скомпилил, а линковать начинаешь, такая ошибка...

2 Автор: у тебя эта ошибка не при компиляции, а при линковке выскакивает
1.2K
25 октября 2007 года
piroman17
175 / / 20.07.2006
Цитата: Тень Пса
не, у меня было так же. скомпилить - скомпилил, а линковать начинаешь, такая ошибка...

2 Автор: у тебя эта ошибка не при компиляции, а при линковке выскакивает



И как ты обошёл эту ошибку? Как линкал?

1.8K
25 октября 2007 года
igor_nf
256 / / 13.12.2006
А как ты компилишь? У тебя случайно не .cpp расширение файла? Gcc - это сишный компилятор, поэтому и расширение должно быть .c
240
25 октября 2007 года
aks
2.5K / / 14.07.2006
Цитата: igor_nf
А как ты компилишь? У тебя случайно не .cpp расширение файла? Gcc - это сишный компилятор, поэтому и расширение должно быть .c


gcc - это скрипто просто который компиляторы и линковщики нужные вызывает. И для С и для С++ и для Java, Ada и т.п.
А файл с .cpp расширением он скомпиляет. Он просто библиотеку stdc++ не прилинкует. А в программе ничего из нее и не исспользуется.

Проблемма в другом - завтра наверно отпишусь уже )

1.8K
25 октября 2007 года
igor_nf
256 / / 13.12.2006
Цитата: aks
А файл с .cpp расширением он скомпиляет. Он просто библиотеку stdc++ не прилинкует. А в программе ничего из нее и не исспользуется.



Ну я же проверил наверное - запихнул этот легендарный код в cpp-файл - и прогнал через gcc. Результат:

 
Код:
/tmp/ccGmrjxM.o:(.eh_frame+0x11): undefined reference to ___gxx_personality_v0'
collect2: выполнение ld завершилось с кодом возврата 1
240
25 октября 2007 года
aks
2.5K / / 14.07.2006
Опции давай ))
1.8K
25 октября 2007 года
igor_nf
256 / / 13.12.2006
Чьи опции? Мои? Ну вот...

 
Код:
CFLAGS="-O1 -march=athlon-xp -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
1.7K
27 октября 2007 года
Envel
206 / / 29.11.2004
Что за дистрибутив? Такое впечатление, что у вас gcc через одно место поставлен, без необходимых для сборки библиотек.
Попробуйте собрать такой код:
 
Код:
main()
{
   int a;
   a=0;
   return a;
}
1.8K
27 октября 2007 года
igor_nf
256 / / 13.12.2006
А такой код собирается. Не знаю, у кого через какое место поставлен gcc ) - у меня поставлен через портеджи - система Gentoo. Но хелловорлд действительно не собирается.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог