因此,我安装了32位的Xubuntu 14.04.1。我们有一些接口代码,打算在其中发布针对我们支持的各种平台的SO和Windows DLL。(是的,我知道二进制发布不好,但在这里也没有关系。)
我正在尝试使用-m32
/ -m64
gcc / g ++参数用32位14.04.01构建32位和64位SO 。32位版本工作正常,但64位版本失败
/usr/include/c++/4.8/string:38:28: fatal error: bits/c++config.h: No such file or directory
检入include文件时,该文件对于32位确实存在,但对于64位则丢失。
谷歌搜索问题,过去似乎在GCC / G ++ 4.6中已发生,但随后被标记为已修复。但是14.04.1使用的是GCC / G ++ 4.8,这表明GCC / G ++ 4.8中的这些库中存在回归。这是其他人看到的吗?
如有必要,我可以为64位14.04.1设置新的VM,然后查看是否可以选择正确的库版本。不过,我宁愿不要,因为我还有很多其他东西也必须重新安装。有更好的解决方案吗?而且,如果我确实安装了64位14.04.1,那么我肯定可以将其交叉编译回32位而不会在另一个方向上丢失标头吗?
...也许您应该避免提及“与此处无关”的内容,因为它们不相关。
—
mikewhatever,2015年
您安装了
—
steeldriver
g++-multilib
软件包吗?
@steeldriver谢谢-就是这样!看起来默认情况下是64位安装具有此功能,而32位安装则没有。好,将其他内容添加到“如何设置Linux构建VM”清单中。:)这似乎很基本,但是我并没有在相同的编译错误的其他人的问题中找到答案,而且我并不是Linux专家。
—
格雷厄姆