Я пытаюсь скомпилировать динамическую библиотеку с экзотическим сочетанием версий.Во-первых, я кросс-компилирую для геода ADM внутри робота, с определенным набором инструментов, который использует gcc-4.3.3, и имеет свое собственное дерево каталогов для поиска его заголовков и ссылок, но я использую много числовыхбиблиотеки, такие как boost :: numeric, blas, и библиотека динамических и кинематических моделей роботов с именем jrl-dynamic, которая отправляет ошибки компоновщика.
Когда я компилирую, сначала все объектные файлы генерируются без проблем (потому что я взломал цепочку инструментов, включая создание символических ссылок), но во время компоновки я получил ошибки вроде:
/usr/lib/liblapack.so.3gf.0: undefined reference to `_gfortran_string_len_trim@GFORTRAN_1.0'
/usr/lib/liblapack.so.3gf.0: undefined reference to `_gfortran_concat_string@GFORTRAN_1.0'
и
/usr/lib/libjrl-dynamics.so.1.19.3-42-g8c6f: undefined reference to `std::ctype<char>::_M_widen_init() const@GLIBCXX_3.4.11'
Я хочу заставить компоновщика найти такие символы, как _gfortran_string_len_trim y моей запрашиваемой версии gfortran, которая называется gfortran2, где на самом деле с помощью команды reafelf я нашел все символы, запрошенные lapack.но -L / mypath / gfortran2 не работает !!и я получил те же ошибки.Я хочу знать, что означает @ в ошибках компоновщика, где в файлах elf говорится, что компоновщик ищет символы ???.