![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
CoDecode |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 20.3.2008 Где: Украина, Херсонск ая обл. Репутация: нет Всего: нет |
Я вообще любитель звук программировать, но весьма не опытный и только недавно совсем начал разбираться как с самим Линухом, так и с его "звуконисущими" возможностями. До этого небольшой опыт был в виндушке да и то - на Бейсике.
Посмотрел по имеющейся литературе, пошатался по Инету - ничего путного не нашел, в по данному случаю. Недавно STK пробовал мучить - такая же проблема, сейчас пытался демку запустить от ALSA. Там короче подключается заголовок, в котором тоже подключаются уйма <*.h>. Ну я все вроди правильно сделал, а когда пришло время компилить *.o - файл - вывело кучу ошибок, мол undefined reference to... Это *.cpp..
А это *.h(asoundlib.h), кинутый в туже директорию что и *.cpp...
А это ашыпки...
Библиотека ALSA libasound2 естественно есть и прекрасно служит.. dev-файлы для ALSA, как видно тоже есть.. Компилил в Geany(IDE) командой gcc -c "%f" Это наверно что-то компилятор непонимает, да? Ему нужно как-то по другому объяснить, что ли? Не судите строго - я начинающий. Просто какой бы код меня не выводил на работу со сторонними апи - постоянно эти undefined'ы, когда все вроди сделал правильно. Скажите пожалуйста - в чем может быть дело? Может я совсем не шарю в gcc(а оно так и есть)? ПАСИБА!!! ![]() |
||||||
|
|||||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
Попробуй добавить при компиляции такой параметр компиляции -lasound2
-------------------- Пролетал мимо. |
|||
|
||||
CoDecode |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 20.3.2008 Где: Украина, Херсонск ая обл. Репутация: нет Всего: нет |
Это при сборке
ну и аналогично если иправить "-lasound2" на "-libasound2"(вы, возможно описались) и при компиляции тоже что и раньше.. |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
Когда подключается библиотека, lib убирается из названия.
Это сообщение отредактировал(а) Fin - 18.9.2008, 22:05 -------------------- Пролетал мимо. |
|||
|
||||
CoDecode |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 20.3.2008 Где: Украина, Херсонск ая обл. Репутация: нет Всего: нет |
Да? Простите, яж фонарь...
А за какую компоновку он говорит? |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
Вот строчка компиляции,
твой код у меня скомпилировался и запустился. Есть динамическая библиотека libasound.so, у меня она находится в каталоге /usr/lib. В ней находится уже скомпилированный код. Когда ты подключаеш хедеры к программе, ты просто говориш компилятору, что такая функция сушествует. На стадии линковки программы, компилятор должен связать эти функции с реально сушествуюшими функциями. Для этого нужно подключать библиотеку, чтобы линковшик знал, где они физически находятся. Если в конце построения программы, выяснится, что что-то линковшик не смог связать, он и выдает сообшение undefined reference to Это сообщение отредактировал(а) Fin - 18.9.2008, 22:43 -------------------- Пролетал мимо. |
|||
|
||||
CoDecode |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 20.3.2008 Где: Украина, Херсонск ая обл. Репутация: нет Всего: нет |
Пасиба, дружищь!!! У меня тоже все ОКей! Только это.. А что означают эти параметры? Ну я имею в веду -o? По умолчанию IDE просила выполнить gcc -c "%f".. Не, это я потом так сделал, а сначала вообще было gcc -Wall -c "%f"(так, вроди).. Дело в том, что много кода выполнялось просто с помощью gcc -Wall -c "%f", но это тот код, который не работает с апи неродных библиотек. Тогда получается, что если хочешь по другому - нужно прописывать gcc name.c -lname(libname) -o name, да?
Это первое звуковое приложение, которое я скомпилил на Линухе!!! Я за тя, Fin выпью, дружищь! ![]() |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Они все описаны в документации (man gcc), например -o от слова output, -c - compile, -l - library... -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |