У меня есть 2 статические библиотеки,
libalgha.a
с 2 функциями: func1()
и func2()
и
libbeta.a
с 2 функциями: func3()
и func4()
У меня есть 1 исполняемый файл (mytest
), связанный с этими двумя библиотеками.Исполняемый файл вызывает только func1()
и func3()
.Итак, насколько я понимаю, компоновщик поместит только символ этих 2 функций в исполняемый файл.
Исполняемый файл загружает с dlopen()
во время выполнения общую библиотеку (libgamma.so
), и эта общая библиотека использует функциюfunc2()
из libalgha.a
.При запуске mytest
я получаю сообщение об ошибке:
символ func2: указанный символ не найден
Я не могу включить libalgha.a
внутри libgamma.so
из-заSolaris 32/64 бит выпуска.
Так как мне связать mytest
со всеми символами libalgha.a
?