(Qt 5.6) 程序在切换到“发布”模式时找不到 .txt 文件

Posted

技术标签:

【中文标题】(Qt 5.6) 程序在切换到“发布”模式时找不到 .txt 文件【英文标题】:(Qt 5.6) Program cannot find .txt file when switching to "Release" mode 【发布时间】:2016-06-30 20:24:40 【问题描述】:

我在 IDE:Qt Creator 5.6 (开源)中进行了编码。

在我的程序中,由于运行,我必须读取.txt 文件。这个.txt 文件位于我的Build 文件夹中。 .txt 路径为:“./config/values/Login.txt”。

当我在Debug 模式下运行时,一切都很好。但是,当我更改为Release 模式时,我的程序会编译、运行并给我一个error,因为没有找到Login.txt

为什么,当building在释放模式下完成时,我的release build是空的?

提前致谢!

【问题讨论】:

什么IDE?如果您在发布模式下编译应用程序然后手动运行它而不是单击 IDE 中的按钮会发生什么? 请edit您的帖子添加您对问题的任何其他信息。避免在 cmets 中添加它,因为它们更难阅读并且更容易删除。 为什么,在发布模式下构建时,我的发布版本是空的? 我敢打赌,发布配置中的默认文件夹是不同,因此当您使用相对路径时找不到它。在程序启动时打印当前文件夹的位置进行调试。 花了很长时间才读到这篇文章,但你确实是对的,好先生。 【参考方案1】:

原因是:我很笨!

我的项目早期版本曾经位于C:/André/Qt/。由于其他问题,我将文件夹名称更改为 Andre。这意味着当我以另一种模式(使用默认项目设置)运行项目时,Qt 再次创建了一个名为 André 的文件夹并将构建保存在那里。

在我更改设置后,它工作得很好。

生活和学习。

对于这个业余错误让大家浪费时间,我深表歉意。

【讨论】:

以上是关于(Qt 5.6) 程序在切换到“发布”模式时找不到 .txt 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误

在 PreferenceFragment 中解组时找不到类

在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法。

如何将 Qt 5.6 与 MVS 2015 链接?

编译 QtWebEngine 示例时找不到 c:\Users\qt\work\install\lib\Qt5Widgetsd.lib

在 xamarin for ios 上调试时找不到应用程序的有效“aps-environment”权利字符串