«неопределенная ссылка» ошибки при компиляции против библиотеки - PullRequest
3 голосов
/ 30 января 2012

Я добавил стороннюю библиотеку в свой код и получаю подобные ошибки при запуске make. Пожалуйста, помогите мне понять эту ошибку.

(.text+0x9b4): undefined reference to `snd_strerror'
/home/bet/Tent/tun/app/Common/hl/lib/libGHAL.a(gfxhal.o): In function `GFX_create_region':
/home/bet/Tent/tun/app/Common/hl/src/GHAL/gfxhal.c:1141: undefined reference to `my_key_handler'
/home/bet/Tent/tun/app/Common/hal/src/GHAL/gfxhal.c:1141: undefined reference to `create_window'
collect2: ld returned 1 exit status
make[2]: *** [all] Error 1
make[2]: Leaving directory `/home/bet/Tent/tun/app/Common/c_app'
make[1]: *** [ctv_all] Error 2
make[1]: Leaving directory `/home/bet/Tent/tun/app/Common'

Ответы [ 2 ]

7 голосов
/ 30 января 2012

Это ошибки связывания, из-за которых компоновщик не может найти определения используемой вами библиотеки.
Вам придется связать библиотеку с вашим проектом.

gcc <your files for compilation> -lLibName

Чтение это для лучшего понимания.

0 голосов
/ 06 сентября 2018

Я все еще получаю сообщение об ошибке, даже если 1) библиотека readline установлена ​​и 2) -lreadline добавлен в команду компиляции gcc.

Основная причина моей проблемы - порядок библиотек / кода: -lreadline (и другие библиотеки) должен быть помещен прямо перед параметрами -o.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...