我希望这不是重复,但是一堆搜索还没有能够帮助我。
首先,我正在运行Mac OS X 10.9.4(Mavericks),不幸的是只有64位。我的任务是将一些32位代码移植到这台计算机上(用于OS X 10.6.8),但这真的很麻烦。 32位代码写得很差(主要集中在32位内存分配),我没有时间去修复所有错误(更不用说找到它们了)。不,我没有写这个代码,几年前我的小组中的其他人(并且他已经离开了)。必要的是增强库。
作为一个解决方案的想法,我想我可能能够以32位模式编译程序。如果重要的话,我使用Code :: Blocks作为IDE,以及gcc 4.4。
我已使用
将boost库(v 1.44)安装为32位sudo ./bjam cxxflags="-m32"
安装时。我正在使用的小测试程序来自boost网站:
#include <boost/regex.hpp>
#include <iostream>
#include <string>
int main()
{
std::string line;
boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );
while (std::cin)
{
std::getline(std::cin, line);
boost::smatch matches;
if (boost::regex_match(line, matches, pat))
std::cout << matches[2] << std::endl;
}
}
当我尝试编译时(使用-m32标志),会弹出一个警告,说明
中的库/usr/local/boost_1_44_0/stage/lib/libboost_regex.a
是为归档而构建的,而不是链接的体系结构(x86_64)。 main.o文件的类似警告。
所以我想知道,如何在64位计算机上编译此代码?
由于