手臂上的提升(gumstix) - >未解决的符号

时间:2012-05-03 16:12:20

标签: c++ boost arm gumstix

执行以下步骤:

我在Ubuntu 9.04上运行gumstix overo(arm)的交叉开发系统。现在我想使用boost。所以我尝试交叉编译boost如下:

1。)下载boost 1.49

2。)构建boost构建系统: 工具/编译/ V2 / bootstrap.sh

3。)修改了user-config.jam:     #配置gcc(默认版本)。     使用gcc:arm:/opt/Gumstix.Toolchain/overo-oe/bin/arm-angstrom-linux-gnueabi-gcc;

4。)通过调用编译强制:     〜/ boost_1_49_0 $ ./tools/build/v2/b2 toolset = gcc-arm stage

5.)导致:     ...未能更新56个目标......     ...跳过6个目标......     ...更新了783个目标......

- >我不知道失败了什么,但在stage / libs中存在所有的lib。

设置简单的C项目:

#include <boost/asio.hpp>

boost::asio::io_service io_service;
...
No other boost stuff here.

现在链接到已创建的libboost_system.a库。

结果:

make all 
Building target: ChecksumTest_arm-omap3503
Invoking: GCC C++ Linker
arm-angstrom-linux-gnuabi-g++ -L../../../../../../../Binary/Lib -L/home/Workspace    /Projekte/boost/boost_1_49_0/stage/lib -o "ChecksumTest_arm-omap3503"
./src/ChecksumTest.o   -lTools_arm-omap3503 -lboost_system -lrt
./src/ChecksumTest.o: In function `global constructors keyed to _Z8checkCrcRKN5Tools8Checksum4TypeERKj':

ChecksumTest.cpp:(.text+0x20): undefined reference to `boost::system::get_system_category()'

ChecksumTest.cpp:(.text+0x2c): undefined reference to `boost::system::get_generic_category()'

ChecksumTest.cpp:(.text+0x38): undefined reference to `boost::system::get_generic_category()'

ChecksumTest.cpp:(.text+0x44): undefined reference to `boost::system::get_generic_category()'

ChecksumTest.cpp:(.text+0x50): undefined reference to `boost::system::get_system_category()'

ChecksumTest.cpp:(.text+0x5c): undefined reference to `boost::system::get_system_category()'

ChecksumTest.cpp:(.text+0x110): undefined reference to `boost::system::get_system_category()'

ChecksumTest.cpp:(.text+0x19c): undefined reference to `boost::system::get_system_category()'

./src/ChecksumTest.o: In function `checkCrc(Tools::Checksum::Type const&, unsigned int const&)':

ChecksumTest.cpp:(.text+0x460): undefined reference to `boost::system::get_system_category()'

./src/ChecksumTest.o:ChecksumTest.cpp:(.text+0x6fc): more undefined references to `boost::system::get_system_category()' follow

collect2: ld returned 1 exit status

make: *** [ChecksumTest_arm-omap3503] Error 1

相同的项目(即使没有交叉编译的提升)也会在Windows主机上进行链接。所以生成的lib有问题。我花了几个小时才找到我的错,但没有成功。

任何提示?!

编辑: 我现在尝试通过调用来构建sytem lib: 〜/ boost / boost_1_49_0 $ ./tools/build/v2/b2 toolset = gcc-arm variant = release link = static runtime-link = static stage --with-system

导致: ......更新了8个目标......

没有任何进一步的构建错误。但链接也失败了。

0 个答案:

没有答案