Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: xubuntu13.04 не компилятся старые проги  (Прочитано 3267 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн aureli0

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Товарисчи, подскажите куда копать?
Недавно установил новый xubuntu 13.04 и теперь не могу откомпилить свои проги, которые раньше в прошлых версиях компилились исправно
Вот вывод из консоли:
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$ make
gcc -o pong pong_adv.cpp `sdl-config --libs --cflags` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image
/usr/bin/ld: /tmp/cc4yQeYo.o: неопределённая ссылка на символ «cos@@GLIBC_2.0»
/usr/bin/ld: замечание: «cos@@GLIBC_2.0» определён в DSO /lib/i386-linux-gnu/libm.so.6, попробуйте добавить его в командную строку компоновщика
/lib/i386-linux-gnu/libm.so.6: could not read symbols: Неверная операция
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make: *** [all] Ошибка 1
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$
Вот ссылка на прогу, которую я пытаюсь откомпилить http://yadi.sk/d/u3Lsk_rz6GAMq

Оффлайн quiet_readonly

  • Участник
  • *
  • Сообщений: 133
    • Просмотр профиля
Re: xubuntu13.04 не компилятся старые проги
« Ответ #1 : 28 Июня 2013, 01:43:01 »
Надо добавить -lm в опции компилятора.

Оффлайн aureli0

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: xubuntu13.04 не компилятся старые проги
« Ответ #2 : 28 Июня 2013, 10:22:58 »
Надо добавить -lm в опции компилятора.
Спасибо, но не получилось, вот вывод:
pong2$ make
gcc -o pong pong_adv.cpp `sdl-config --libs --cflags` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image -lm
/usr/bin/ld: /tmp/ccJ9nedv.o: неопределённая ссылка на символ «_ZNSs6appendEPKc@@GLIBCXX_3.4»
/usr/bin/ld: замечание: «_ZNSs6appendEPKc@@GLIBCXX_3.4» определён в DSO /usr/lib/i386-linux-gnu/libstdc++.so.6, попробуйте добавить его в командную строку компоновщика
/usr/lib/i386-linux-gnu/libstdc++.so.6: could not read symbols: Неверная операция
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make: *** [all] Ошибка 1
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$ make
gcc -o -lm pong pong_adv.cpp `sdl-config --libs --cflags` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image
gcc: ошибка: pong: Нет такого файла или каталога
make: *** [all] Ошибка 1
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$ make
gcc -o pong pong_adv.cpp `sdl-config --libs --cflags --lm` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image
Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs] [--static-libs]
/usr/bin/ld: /tmp/ccb0urFF.o: неопределённая ссылка на символ «cos@@GLIBC_2.0»
/usr/bin/ld: замечание: «cos@@GLIBC_2.0» определён в DSO /lib/i386-linux-gnu/libm.so.6, попробуйте добавить его в командную строку компоновщика
/lib/i386-linux-gnu/libm.so.6: could not read symbols: Неверная операция
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make: *** [all] Ошибка 1
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$
Как должна выглядеть правильно строка для компиляции?
« Последнее редактирование: 28 Июня 2013, 10:27:24 от aureli0 »

Оффлайн quiet_readonly

  • Участник
  • *
  • Сообщений: 133
    • Просмотр профиля
Re: xubuntu13.04 не компилятся старые проги
« Ответ #3 : 28 Июня 2013, 13:15:19 »
Можно попробовать вставить -lm перед sdl-config.

Оффлайн aureli0

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: xubuntu13.04 не компилятся старые проги
« Ответ #4 : 28 Июня 2013, 23:00:22 »
Не хочет
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$ make
gcc -o pong pong_adv.cpp -lm `sdl-config --libs --cflags` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image
/usr/bin/ld: /tmp/cc5lizP8.o: неопределённая ссылка на символ «_ZNSs6appendEPKc@@GLIBCXX_3.4»
/usr/bin/ld: замечание: «_ZNSs6appendEPKc@@GLIBCXX_3.4» определён в DSO /usr/lib/i386-linux-gnu/libstdc++.so.6, попробуйте добавить его в командную строку компоновщика
/usr/lib/i386-linux-gnu/libstdc++.so.6: could not read symbols: Неверная операция
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make: *** [all] Ошибка 1
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$ make
gcc -o pong pong_adv.cpp `-lm sdl-config --libs --cflags` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image
/bin/sh: 1: -lm: not found
/usr/bin/ld: /tmp/cc35ugWF.o: неопределённая ссылка на символ «_ZNSs6appendEPKc@@GLIBCXX_3.4»
/usr/bin/ld: замечание: «_ZNSs6appendEPKc@@GLIBCXX_3.4» определён в DSO /usr/lib/i386-linux-gnu/libstdc++.so.6, попробуйте добавить его в командную строку компоновщика
/usr/lib/i386-linux-gnu/libstdc++.so.6: could not read symbols: Неверная операция
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make: *** [all] Ошибка 1
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$ make
gcc -o pong pong_adv.cpp `--lm sdl-config --libs --cflags` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image
/bin/sh: 1: --lm: not found
/usr/bin/ld: /tmp/cctLJ7IU.o: неопределённая ссылка на символ «_ZNSs6appendEPKc@@GLIBCXX_3.4»
/usr/bin/ld: замечание: «_ZNSs6appendEPKc@@GLIBCXX_3.4» определён в DSO /usr/lib/i386-linux-gnu/libstdc++.so.6, попробуйте добавить его в командную строку компоновщика
/usr/lib/i386-linux-gnu/libstdc++.so.6: could not read symbols: Неверная операция
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make: *** [all] Ошибка 1
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2

Оффлайн aureli0

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: xubuntu13.04 не компилятся старые проги
« Ответ #5 : 30 Июня 2013, 11:17:46 »
Вот ответ, make файл должен выглядеть так:
all:
gcc -o pong pong_adv.cpp -lm -lstdc++ `sdl-config --libs --cflags` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image
Теперь все работает
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$ make
gcc -o pong pong_adv.cpp -lm -lstdc++ `sdl-config --libs --cflags` -I/usr/include/GL -lGL -lGLU -lSDL_ttf -lSDL_image
neon@neon-desktop:/media/neon/3cf86b48-5b3f-4216-aa72-8c0d3b13320e/GameDev/PONG/pong2$ ./pong

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: xubuntu13.04 не компилятся старые проги
« Ответ #6 : 01 Июля 2013, 09:11:21 »
Всё потому что С++ файлы надо компилировать С++ компилятором. И не будет непоняток.
Еще раз повторю: Си и С++ - разные языки!

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.