Кросс-билдинг от Cygwin до arm-linux - PullRequest
0 голосов
/ 07 июля 2011

Я пытаюсь создать приложение, которое использует библиотеки повышения с Cygwin, а затем развернуть его на Linux.Я скачал последнюю версию boost, 1.46.1, затем следовал инструкциям здесь http://www.boost.org/doc/libs/1_46_1/more/getting_started/unix-variants.html.

Я закончил процесс начальной загрузки и процесс bjam.Когда я проверял папку stage / lib, там были созданы файлы .dll, .dll.a, .a.Нужно ли включать библиотеки?Я ожидаю иметь .so файлы, так как он будет работать на Linux, но, к сожалению, .dll созданы.

Кстати, я использую Eclipse IDE с моим проектом.

Вот мой тестовый проект,

#include <boost/asio.hpp>
#include <boost/bind.hpp>

int main(void) 
{
return 0; 
}  

После компиляции я получил ошибку компоновки:

Invoking: GCC C++ Linker
/opt/Mx800SDK/vfitc/cross/bin/arm-linux-g++ -L../lib -o'boostTest' ./boostTest.o ./include/boost/fusion/include/adapt_adt_named.o -lpthread -lboost_system -lstdc++
./boostTest.o(.text+0x498): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `boost::system::system_category()'
./boostTest.o(.text+0x4b0): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `boost::system::system_category()'
./boostTest.o(.text+0x4c8): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `boost::system::generic_category()'
./boostTest.o(.text+0x4e0): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `boost::system::generic_category()'
./boostTest.o(.gnu.linkonce.t._ZN5boost4asio6detail20posix_tss_ptr_createERj+0x60): In function `boost::asio::detail::posix_tss_ptr_create(unsigned int&)':
: undefined reference to `boost::system::system_category()'

Любая помощь о том, как это исправить, будет очень признательна.

Спасибо

1 Ответ

1 голос
/ 07 июля 2011

Вы пытаетесь выполнить кросс-сборку для linux-arm, вы не должны следовать инструкции cygwin.Вместо этого сделайте перекрестное здание .

...