簡體   English   中英

Qt qmake和DISTFILES

[英]Qt qmake and DISTFILES

因此,我正在學習在OpenGL 3.3中進行編程,並使用qtcreator作為我的IDE,並使用qmake作為編譯器。 一切都很好,除了我必須使用ifstream讀取2個文件(fragmentshader.frag和vertexshader.vert)。 我在“ .pro”中包含了這兩個文件,如下所示:

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp \
shaders.cpp

LIBS += -lGLEW -lglfw -lGL -lX11 -lpthread -lXrandr -lXi

DISTFILES += \
vertexshader.vert \
fragmentshader.frag

HEADERS += \
shaders.h

在代碼中,我嘗試直接讀取“ vertexshader.vert”和“ fragmentshader.frag”。

我的問題是:如何在不指定絕對路徑的情況下將這些文件包含在我的應用程序中?

我有同樣的問題,這是由於Qt正在從另一個目錄(默認情況下是從構建目錄)運行文件。

修復

因此,您有兩種選擇:

  • Projects-> Build&Run-> Run中Working目錄更改為%{sourceDir}
  • Projects-> Build&Run-> Build中Build目錄更改為. 或將其留空。

說明

  • 一個選項是從項目所在的sourceDir運行程序(在Windows上為.exe),因此路徑相對保持不變。
  • 第二個選項將所有構建文件(即:Makefile,*。o和“ .exe”)放置在項目目錄中(除非您添加它們,否則它們不會出現在項目視圖中),我喜歡這種方式,因為現在您的項目目錄包含與其相關的所有內容。

選擇最喜歡的一種,希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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