Создание проекта с использованием cmake, как мне узнать о библиотеках

Когда я пытаюсь собрать этот проект с помощью cmake и gcc на 64-битной машине linux (debian), я получаю сообщение об ошибке от компоновщика:

Linking C executable ../../../../cpsadamsx
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlopen'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlclose'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlerror'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlsym'
collect2: ld returned 1 exit status
make[2]: *** [cpsadamsx] Error 1
make[1]: *** [sundials/examples/cpodes/serial/CMakeFiles/cpsadamsx.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Очевидно, dlopen, dlclose, dlerror и dlsym являются ссылками на libdl.so. У меня есть эта библиотека в /lib64/libdl.so.2, но почему она не найдена?

Было бы это нормально? делать; make install & amp; -path Я мог бы установить переменную LIBS и выполнить команду configure следующим образом (я думаю):

export LIBS=-ldl && ./configure

Но как мне это сделать сейчас?

ОБНОВИТЬ:

Таким образом, кажется, что (или, по крайней мере, a) библиотека найдена, но не содержит рассматриваемых символов. Возможно, он пытается с 32-битной библиотекой в / lib?

Есть ли способ разобрать /lib64/libdl.so.2, чтобы убедиться, что он имеет ссылки dlopen и т. Д.?

Теперь кажется, что проблема заключается в том, чтобы привести инструменты сборки к правильной версии библиотеки.

Ответы на вопрос(3)

Ваш ответ на вопрос