Qt qmake and DISTFILES
Qt qmake and DISTFILES
所以我正在学习在OpenGL 3.3中编程,并且我将QTCreator用作编译器的IDE。一切都很好,除了我必须使用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"answers" fragmentshader.frag"。
我的问题是:如何将这些文件包含在我的应用程序中而无需指定绝对路径?
我遇到了相同的问题,它来自QT从另一个目录运行文件(默认情况下是从构建一个目录)。
修复
所以您有两个选择:
- 更改 projects-> build& amp; amp; amp; amp; amp; amp;run-> run to
%{sourceDir}
。 - 在 projects-> build&中更改构建目录run->构建 to
.
或将其留空。
解释
- 第一个选项从sourcedir运行您的程序(在Windows上),您的项目位于该项目,因此路径将保持相同的路径。
-
第二选项将所有构建文件(即:makefile, *.o and" .exe")放在您的项目目录中(除非您的相关文章:
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 为什么C++逐位AND运算符在不同大小的操作数中表现为这样
- 为什么 Clang 不允许"and"作为函数名称?
- 位阵列上的快速AND运算
- 是否可以在 C++03 中定义'move-and-swap idiom'等效项
- BoostPython and CMake
- OpenSSL BIO and SSL_read
- Gurobi GRBModel and GRBmodel in C++
- std::visit and std::variant usage
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- Directx12 and keystrokes
- different between int **arr =new int [ n]; and int a[i][j]?
- C++ getenv and setenv
- Inference pytorch C++ with alexnet and cv::imread image
- Visual Studio 2019 C++ and std::filesystem
- 保证逻辑 AND 表达式中的函数调用
- python ctypes and C++ pointers
- C++ const char with .begin() and .end()
- Threads with Classes and std::packaged_task
- Qt qmake and DISTFILES