我想在Win32和WinCE平台上使用Boost RegEx模块。我们在C ++(VS2008)中使用Win32和WinCE平台的通用代码。现在我想在这个通用代码中使用Boost Regex。所以我遵循的步骤是:
使用Ran bjam命令构建Regex。
bjam --with-regex --with-date_time --with-thread toolset=msvc-9.0 variant=release threading=multi link=shared runtime-link=shared
bjam --with-regex --with-date_time --with-thread toolset=msvc-WM5 variant=release threading=multi link=shared runtime-link=shared
我正在使用这些lib文件,并且在Win32平台上它的构建和工作正常。但在CEPlatform中我收到以下错误:
libboost_regex-vc90-mt-sgd-1_55.lib(boost_regex-vc-mt-gd-1_55.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'THUMB'
对于此错误,我修改了user_config.bjam(在tools \ build \ v2位置) 使用msvc:WM5:/ MACHINE:THUMB;
然后我建立了相同的,但我仍然面临这个问题。请任何人帮我解决这个问题。
答案 0 :(得分:0)
在构建一个不相关的库时,/ MACHINE选项是一个链接器选项。似乎构建系统正在使用x86编译器。我不太详细了解bjam,但您可以在其文档中查看有关交叉编译的内容,或者配置应该用于构建代码的编译器。