2017-08-01 116 views
-1

我正在嘗試使用GLM與Vulkan/SDL一起使用。我有這兩個正常工作的,但是當我選擇的構建,它說,無法使用cmath編譯代碼

/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代碼IM是

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 
+2

需要更多信息。 QT中的什麼類型的項目,什麼版本,一些說明問題的最小代碼? – lostbard

+0

你會得到什麼樣的編譯問題? – DavidBittner

+0

我用更多的代碼塊更新了這個問題。 – Thanatos

回答

0

我解決我自己的問題。我意識到我已經設置了一個

INCLUDE_PATH+= /usr/include 

這個錯誤是導致#include_next無法找到下一個include的原因。從我的.pro文件中刪除後,它沒有打嗝編譯。