gpt4 book ai didi

c++ - Qt qmake 和 DISTFILES

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:46:11 27 4
gpt4 key购买 nike

所以我正在学习在 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 directory 更改为 %{sourceDir}
  • Projects->Build & Run->Build中的Build directory更改为或留空。

说明

  • 第一个选项从项目所在的 sourceDir 运行程序(在 Windows 上为 .exe),因此路径相对保持不变。
  • 第二个选项将所有构建文件(即:Makefile、*.o 和“.exe”)放在项目目录中(它们不会出现在项目 View 中,除非您的添加它们),我更喜欢这种方式,因为现在您的项目目录包含与之相关的所有内容。

选择你最喜欢的一个,希望对你有帮助。

关于c++ - Qt qmake 和 DISTFILES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37991410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com