Назад | Перейти на главную страницу

Компиляция Squeeze / Lenny: ошибка ссылки на библиотеку

У меня проблема: у меня есть библиотека C ++ («DataTsBroad») и приложение C ++ Test («DataTsBroadTest»), чтобы проверить это.
Фактически, приложение Lib и Test оба скомпилированы под Debian Lenny.

Теперь я хочу продолжить компиляцию своего тестового приложения на Debian Lenny (ограничение клиента), но я бы скомпилировал свою библиотеку на Squeeze или Wheezy для работы с последними выпусками Debian.

Итак, я успешно скомпилировал свою Lib на Squeeze, но после того, как я попытался скомпилировать свое тестовое приложение с этой Lib на Lenny, это не удалось! Ошибка ссылки:

Связывание исполняемого файла CXX DataTsBroadTest /home/nis/pezierg/test/ProductMak/Export/DataTsBroad/L64/Release/libDataTsBroad64.so: неопределенная ссылка на `std :: ctype :: _ M_widen_init () const@GLIBCXX_3.4.11 '
collect2: ld вернул 1 статус выхода
make [2]: *** [DataTsBroadTest] Ошибка 1
make [1]: *** [CMakeFiles / DataTsBroadTest.dir / all] Ошибка 2
make: *** [all] Ошибка 2

Проблема, безусловно, связана с течь C ++ Lib, я попытался прокомментировать все, что он использует в моей Lib, и он работает.

Но как я могу решить проблему?

Я думаю, проблема может быть в разных версиях gcc / g ++ на Lenny и Squeeze. Попытайтесь уравнять их, либо обновите одну, либо понизьте версию другой, а затем повторите попытку.