dom*_*120 6 c++ gcc clang cmath travis-ci
我正在用 clang 编译我的项目,但遇到了一个奇怪的错误:
[ 1%] Building CXX object CMakeFiles/tfs.dir/src/actions.cpp.o
In file included from /home/travis/build/dominique120/miniature-adventure/src/actions.cpp:20:
In file included from /home/travis/build/dominique120/miniature-adventure/src/otpch.h:27:
/home/travis/build/dominique120/miniature-adventure/src/definitions.h:39:10: fatal error:
'cmath' file not found
#include <cmath>
^
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
我的 actions.cpp 第 20 行:
#include "otpch.h"
Run Code Online (Sandbox Code Playgroud)
otpch.h 第 27 行:
#include "definitions.h"
Run Code Online (Sandbox Code Playgroud)
Definitions.h 第 31 行:
#include <cmath>
Run Code Online (Sandbox Code Playgroud)
我做了一些编辑,但我不知道是什么导致了这个错误,在这里编辑: https: //github.com/dominique120/miniature-adventure/commits/master
PS:GCC 只是转储大量错误: https://travis-ci.org/dominique120/miniature-adventure/jobs/21905513
我在安装 Ubuntu 22.04 时遇到了同样的问题libstdc++-11-dev。
做完后:
sudo apt install libstdc++-12-dev
Run Code Online (Sandbox Code Playgroud)
...错误消失了。
它似乎只发生在 libstdc++-11 上?
在谷歌搜索我在 macOS 上遇到的问题后,我看到了你的帖子。我正在分享一个解决方案,尽管它仅适用于 Mac 用户。
您很可能升级了 Xcode(或者它已为您升级)并且您继续使用旧的编译方案。
确定您的磁盘上实际存在以下哪个目录:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/
Run Code Online (Sandbox Code Playgroud)
并确保您的编译开关中有 -I 以及存在的目录。