在 travis 上使用带有 -m32 的 g++ 会导致错误
using g++ with -m32 on travis results in an error
我正在安装这些软件包:g++-4.7
gcc-4.7-multilib
并且我将 CXX
设置为 g++-4.7
我通过发出 ${CXX} --version
验证编译器确实是 4.7
之后我这样调用 cmake:
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32" .
我的项目只有 C++ 源文件,因此不需要 C 标志。我在 travis 上遇到的错误是:
/usr/include/c++/4.7/cstdio:43:28: fatal error: bits/c++config.h: No such file or directory
有什么想法吗?我使用 -m64
没问题
编辑:
刚刚也尝试了 g++-4.7-multilib
(g++ 而不是 gcc),但仍然没有运气 - 同样的错误。
看起来你 运行 喜欢这个:Missing include "bits/c++config.h" when cross compiling 64 bit program on 32 bit in Ubuntu
确保您安装了相同版本的 gcc、g++、gcc-multilib 和 g++-multilib,如果这没有帮助,请尝试将 -I/usr/include/c++/4.7/i686-linux-gnu
添加到 CXXFLAGS
我查看了日志,看到了这个...
Installing APT Packages (BETA)
Disallowing packages: g\+\+-4.7-multilib
If you require these packages, please review the package approval process at:
https://github.com/travis-ci/apt-package-whitelist#package-approval-process
事实证明,只有 gcc 4.6 和 4.7 的包不在白名单中 - 其他 gcc 版本有...将请求它。
我正在安装这些软件包:g++-4.7
gcc-4.7-multilib
并且我将 CXX
设置为 g++-4.7
我通过发出 ${CXX} --version
之后我这样调用 cmake:
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32" .
我的项目只有 C++ 源文件,因此不需要 C 标志。我在 travis 上遇到的错误是:
/usr/include/c++/4.7/cstdio:43:28: fatal error: bits/c++config.h: No such file or directory
有什么想法吗?我使用 -m64
编辑:
刚刚也尝试了 g++-4.7-multilib
(g++ 而不是 gcc),但仍然没有运气 - 同样的错误。
看起来你 运行 喜欢这个:Missing include "bits/c++config.h" when cross compiling 64 bit program on 32 bit in Ubuntu
确保您安装了相同版本的 gcc、g++、gcc-multilib 和 g++-multilib,如果这没有帮助,请尝试将 -I/usr/include/c++/4.7/i686-linux-gnu
添加到 CXXFLAGS
我查看了日志,看到了这个...
Installing APT Packages (BETA)
Disallowing packages: g\+\+-4.7-multilib
If you require these packages, please review the package approval process at:
https://github.com/travis-ci/apt-package-whitelist#package-approval-process
事实证明,只有 gcc 4.6 和 4.7 的包不在白名单中 - 其他 gcc 版本有...将请求它。