簡體   English   中英

Qt5和OpenGL:stdlib.h:沒有這樣的文件或目錄

[英]Qt5 & OpenGL: stdlib.h: No such file or directory

我開始研究如何在Qt5項目中集成GLFW,GLAD和OpenGL。 我得到這個stdlib.h沒有這樣的文件或目錄錯誤。 我嘗試運行的示例來自官方OpenGL文檔 本文檔很好地描述了運行項目的過程以及此處的所有其他會話。

我的stdlib.h位於/usr/include/stdlib.h ,可以從此打印屏幕上看到:

路徑 除此之外,我還有一個奇怪的錯誤,編譯器期望使用大括號,但無法弄清楚此錯誤的原因:

括號錯誤 該錯誤的詳細說明在這里:

DETAILED_ERROR 我一直在研究這個錯誤,我在這里這里甚至使用了這個源,但無法弄清楚問題出在哪里,以及如何鏈接庫(已在所示路徑中)。

代碼片段是:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM