Вы можете запустить nm
на всех библиотеках, с которыми вы ссылаетесь, чтобы увидеть, к какой библиотеке относятся неопределенные символы, например:
nm liboppcmdenvd.(so/a) | c++filt | grep UDPControlInfo
(c++filt
разбирает символы C ++).
Библиотекадля которого требуется, чтобы символ получал что-то вроде (U
для Undefined):
00000000007f90a0 U UDPControlInfo
Библиотека, которая определяет / имеет символ, будет выводить что-то вроде:
00000000007f90a0 T UDPControlInfo
Это можетбыть T
или t
Конечно, библиотеки, с которыми вы связываетесь, обозначаются аргументами, начинающимися с -l
:
-lopptkenvd -loppenvird -lopplayoutd -u _cmdenv_lib -loppcmdenvd -loppenvird
liboppcmdenvd liboppenvird liboppsimd libUDPControlInfo