У меня есть проект cmake, связанный с LTI (в .a), который связан с lapack, и, хотя я пытаюсь его скомпилировать, я получаю неопределенные символы при запуске ldd -r для моего результирующего .so:
undefined symbol: dgeev_ (/home/sup-ubuntu/.sup_plugins/libsupProcessParametrableF2FtrackingPlugin.so)
undefined symbol: sgeev_ (/home/sup-ubuntu/.sup_plugins/libsupProcessParametrableF2FtrackingPlugin.so)
Я проверил, что я установил liblapack-dev (моя система Ubuntu 12.04 64 бит) и libblas-dev.
Я пробовал несколько методов в cmake, ни один из которых не работал:
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -llapack -lblas" )
или же
find_package( LAPACK REQUIRED )
Кажется, что:
sup-ubuntu@sup-ubuntu12:/usr/lib$ nm liblapack.so | grep sgeev_
nm: liblapack.so: no symbols
а также
sup-ubuntu@sup-ubuntu12:/usr/lib$ nm liblapack.a | grep sgeev_
0000000000000000 T sgeev_
так значит ли это, что я должен статически ссылаться на liblapack.a? Как я могу сделать это с помощью cmake?
Я ценю вашу помощь или идеи, я искал ответы, но ничего, что я не мог найти, помогло …
Соня
Задача ещё не решена.
Других решений пока нет …