无法使用cmath编译代码

时间:2017-08-01 16:41:45

标签: c++ linux qt

我正在尝试使用GLM来处理Vulkan / SDL。我有两个正常工作,但是当我选择构建时,它说

/usr/include/c++/7.1.1/cmath:45: error: math.h: No such file or directory
 #include_next <math.h>
               ^~~~~~~~

但是,如果我要进入我的项目并正常包含它,它可以正常工作。我尝试使用G ++而不是GCC。我在Linux(arch)上使用QT Creator QT版本5.9.1。我使用Qmake,但没有使用Qt库。我正在使用的GLM代码是

glm::mat4 matrix;
glm::vec4 vec;
auto test = matrix * vec;

这些是包含

#include <vulkan/vulkan.h>
#include <SDL2/SDL.h>
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>
#include <iostream>

编译器命令行是:

g++ -c -pipe -std=c++11 -g -std=gnu++11 -Wall -W -fPIC -DQT_QML_DEBUG -I../SDLProject -I. -isystem /usr/local/include -I../VulkanSDK/1.0.54.0/x86_64/include -isystem /usr/include -I/usr/lib/qt/mkspecs/linux-g++ -o main.o ../SDLProject/main.cpp

1 个答案:

答案 0 :(得分:0)

我解决了自己的问题。我意识到我已经设置了

INCLUDE_PATH+= /usr/include

这个错误导致#include_next无法找到下一个包含。从我的.pro文件中删除后,它编译时没有打嗝。