使用其他第三方库与cmake交叉编译

时间:2014-07-07 16:45:30

标签: c++ linux cmake arm cross-compiling

我想用cmake交叉编译ARM的C ++应用程序。因此我在我的ubuntu x86系统上安装了arm-linux-gnueabi-g ++软件包。但是,此程序包不包含成功链接我的C ++应用程序所需的所有第三方库。例如:

Ubuntu x86系统: 包含基本的东西,如

/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/libstdc++.so
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/libstdc++.a
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/libgcc.a
...

目标系统(ARM): 如果我直接在ARM系统上编译我的应用程序,还需要安装特定于arm的软件包。因此可以使用更多的库:

/usr/lib/libpq.so
/usr/lib/libpq.a
/usr/lib/arm-linux-gnueabi/libssl.so
/usr/lib/arm-linux-gnueabi/libssl.a
/usr/lib/arm-linux-gnueabi/libkrb5.so.3

由于交叉编译需要额外的库,我的尝试是将所需的第三方库从目标系统手动复制到x86系统。然而,这最终导致了一场灾难,因为链接会显示消息,例如“libssl.so - >需要lib B - >需要缺少lib C”。

如何在我的x86系统上提供这些库以进行交叉编译?

0 个答案:

没有答案