C++ 编译32位二进制文件:在';之前应为非限定id__int128';

C++ 编译32位二进制文件:在';之前应为非限定id__int128';,c++,macos,gcc,stl,C++,Macos,Gcc,Stl,我正在将我的代码移植到Mac上,Mac在我的64位Windows机器上编译得很好。显然,我正在使用的一个库(Awesomium)没有编译成64位代码,所以我必须将代码编译成32位二进制代码 我试图用GCC4.8编译32位二进制文件时出错 In file included from /opt/local/include/gcc48/c++/random:50:0, from /opt/local/include/gcc48/c++/bits/stl_algo.h:

我正在将我的代码移植到Mac上,Mac在我的64位Windows机器上编译得很好。显然,我正在使用的一个库(Awesomium)没有编译成64位代码,所以我必须将代码编译成32位二进制代码

我试图用GCC4.8编译32位二进制文件时出错

In file included from /opt/local/include/gcc48/c++/random:50:0,
                 from /opt/local/include/gcc48/c++/bits/stl_algo.h:67,
                 from /opt/local/include/gcc48/c++/algorithm:63,
                 from /Library/Frameworks/SFML.framework/Headers/System/Utf.hpp:32,
                 from /Library/Frameworks/SFML.framework/Headers/System.hpp:43,
                 from /Library/Frameworks/SFML.framework/Headers/Window.hpp:32,
                 from /Users/ryan/projects/ArchaicEngine/ArchaicEngine/includes/ArchaicEngine/Graphics/RenderWindow.h:4,
                 from /Users/ryan/projects/ArchaicEngine/ArchaicEngine/src/Graphics/RenderWindow.cpp:1:
/opt/local/include/gcc48/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
       { typedef unsigned __int128 type; };

基本上,SFML包括
,然后包括
,它使用32位二进制文件无法使用的u int128。我怎样才能编译它?

GCC关于支持的官方声明基本上是自己动手:其他解决方案包括使用某种bigint库。。。当然,你也可以尝试让Awesomium在64位下构建。现在回想起来,我在windows上使用的是32位SFML库。我只需要在mac上链接到32位SFML就可以了。可能的答案如下: