如何有条件地在Eclipse中为交叉编译项目包含两个不同名称的相同版本的库?

时间:2014-01-10 18:18:14

标签: c++ eclipse gcc mingw static-libraries

我有一个Eclipse项目,我想在Ubuntu和Windows上编译。

我正在使用boost库(特别是asio),它需要包含libboost_system ... *库。我已在Windows和Ubuntu上编译了boost,最终在Windows上为libboost_system_mgw48-mt-1_55.a,在Ubuntu上为libboost_system.alibboost_system.solibboost_system.so.1.55.0

我不确定我需要包含哪个Ubuntu库,但更大的问题是如何包含Windows和Ubuntu库,但仅限于正确的操作系统。

我在Windows上使用MinGW工具链,根据我的理解或多或少是GCC?我假设我应该简单地在Ubuntu上使用GCC来进行相同的编译过程。

Windows boost build命令:

bootstrap.bat mingw
b2 toolset=gcc

Ubuntu提升构建命令:

bootstrap.sh
b2

Eclipse是否可以在每个安装的基础上使用我可以通过全局可识别的变量访问的操作系统?

如果是,我怎么能使用该信息有条件地仅包含正确的库?

1 个答案:

答案 0 :(得分:0)

我提出的解决方案是在项目属性中使用两种配置:Debug-Win32和Debug-Uni​​x。这跟踪了独立的图书馆和路径配置以及不同的工具链,同时仍然来自相同的代码库。