[英]Qt5 & OpenGL: stdlib.h: No such file or directory
我開始研究如何在Qt5項目中集成GLFW,GLAD和OpenGL。 我得到這個stdlib.h
沒有這樣的文件或目錄錯誤。 我嘗試運行的示例來自官方OpenGL文檔 。 本文檔很好地描述了運行項目的過程以及此處的所有其他會話。
我的stdlib.h
位於/usr/include/stdlib.h
,可以從此打印屏幕上看到:
除此之外,我還有一個奇怪的錯誤,編譯器期望使用大括號,但無法弄清楚此錯誤的原因:
該錯誤的詳細說明在這里:
我一直在研究這個錯誤,我在這里和這里甚至使用了這個源,但無法弄清楚問題出在哪里,以及如何鏈接庫(已在所示路徑中)。
代碼片段是:
helloOpenGL.pro
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += \
main.cpp
LIBS += -L "/usr/lib" \
-lX11 -lpthread -lXrandr -lXi -ldl -lGL
INCLUDEPATH += "/usr/include"
LIBS += -L "/usr/include/GLFW" \
-lglfw3
我在main.cpp上包含的主要內容如下:
#include <../glad/glad.h>
#include <../GLFW/glfw3.h>
#include <iostream>
#include <stdlib.h>
感謝您就此問題發表看法。
嘗試改變
#include <../glad/glad.h>
#include <../GLFW/glfw3.h>
#include <iostream>
#include <stdlib.h>
至
#include <cstdlib>
#include <iostream>
#include "../glad/glad.h"
#include "../GLFW/glfw3.h"
看看是否會改變錯誤。 更改為cstdlib在stdlib.h中是因為stdlib.h中是一個C頭不是C ++頭,並cstdlib做一些命名空間的東西,一些細微的修改,使其++ ISH描述它更多的是位C 在這里 。 至於使用glad和GLFW標頭將<>更改為“”,那只是改變了預處理器在搜索標頭的位置,這些標頭也可能與您的錯誤有關。
對於此問題,標頭及其在C ++中的順序很重要。 我有一種直覺,認為這里的訂購引起了一些問題。 請對其進行更改,如果尚未解決,則希望它能揭示更多有關此問題的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.