проблемы с использованием кросс-скомпилированной библиотеки - PullRequest
0 голосов
/ 24 июля 2010

Я кросс-скомпилировал библиотеку Adol-c на linux для windows (mingw).Вроде бы все нормально, но когда я пытаюсь связать эту новую кросс-скомпилированную библиотеку (libadolc.a) в моем проекте на windows, я нахожу следующие проблемы:


g ++ -LC: \ 1500TB \libs \ Cross-ADOL-C-2.1.0 \ adolc_base \ lib -mwindows -oteste.exe src \ main.o -ladolc -lstdc ++ -lm C: \ 1500TB \ libs \ Cross-ADOL-C-2.1.0 \ adolc_base\ lib / libadolc.a (adouble.o): в функции ZNSirsERd': /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++/istream:219: undefined reference to std :: istream & std :: istream :: _ M_extract (double &) 'C: \ 1500TB \ libs \ Cross-ADOL-C-2.1.0 \ adolc_base\ lib / libadolc.a (adouble.o): в функции ZNSolsEd': /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++/ostream:214: undefined reference to std :: ostream & std :: ostream :: _ M_insert (double) 'C: \ 1500TB \ libs \ Cross-ADOL-C-2.1.0 \ adolc_base\ lib / libadolc.a (adouble.o): в функции operator<< <std::char_traits<char> >': /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++/ostream:517: undefined reference to std :: basic_ostream> & std :: __ ostream_insert> (std :: basic_ostream> &, char const *, int) '


если я прав, libadolc.a ищет включения в моем каталоге linux ... Я не понимаю, что я сделал не так, может быть, что-то, когда я компилировал библиотеку?я должен что-то изменить?

Заранее благодарю,

1 Ответ

0 голосов
/ 24 июля 2010

Он не ищет включений, но компоновщик ищет функциональность стандартной библиотеки iostreams. Похоже, что компоновщик не может найти библиотеки времени выполнения C ++, а также выглядит так, как будто вы указали их в командной строке - я бы это снял (g ++ должен найти их сам), проверил, что libstdc ++. A / .so, где компилятор ожидает, что это будет попытка снова.

Если это первый проект, который вы компилируете с вероятностью mingw, вероятность того, что среда настроена неправильно на 100%.

...