У меня проблема: у меня есть библиотека C++ ("DataTsBroad") и тестовое приложение C++ ("DataTsBroadTest") для ее тестирования.
На самом деле, Lib и тестовое приложение скомпилированы на Debian Lenny.
Теперь я хочу продолжать компилировать тестовое приложение на Debian Lenny (ограничение клиента), но я бы скомпилировал lib на Squeeze или Wheezy, чтобы работать на последних выпусках Debian.
Итак, я успешно скомпилировал Lib на Squeeze, но когда я пытаюсь скомпилировать тестовое приложение с этим Lib на Lenny, оно не работает! Возникает ошибка Link Error :
Linking CXX executable DataTsBroadTest /home/nis/pezierg/test/ProductMak/Export/DataTsBroad/L64/Release/libDataTsBroad64.so: undefined reference to `std::ctype::_M_widen_init() const@GLIBCXX_3.4.11'
collect2: ld returned 1 exit status
. make[2]: *** [DataTsBroadTest] Error 1
. make[1]: *** [CMakeFiles/DataTsBroadTest.dir/all] Error 2
make: *** [all] Error 2
Проблема, конечно, связана с ostream C++ Lib, я попытался закомментировать все его использования в моем Lib и это работает.
Но как я могу действительно решить проблему?
Думаю, проблема может заключаться в разных версиях gcc / g ++ на Lenny и Squeeze. Попытайтесь уравнять их, либо обновите один, либо понизьте версию другой, а затем повторите попытку.