如何设置应用路径?

Posted

技术标签:

【中文标题】如何设置应用路径?【英文标题】:How to set application path? 【发布时间】:2013-08-26 13:22:27 【问题描述】:

我编写了控制台 Qt 应用程序。我想从目录中复制文件,我的 exe 文件在哪里。

m_Path = QCoreApplication::applicationDirPath() + "\\g.aux.xml";
QFile::copy(m_Path,PathNew);

当我调试我的应用程序时,这段代码非常有效。但是当我将 .exe 文件复制到另一个目录时,它不起作用。

请告诉我,如何解决它。

更新: 我想我找到了答案 我需要使用 QDir::currentPath()

Get current working directory in a Qt application

【问题讨论】:

“不起作用”是什么意思。怎么会失败。请完整描述问题。请描述文件的精确布局。 【参考方案1】:

您很可能缺少 .dll 文件。

仅复制 .exe 文件对于 Qt 应用程序是不够的 - 您必须确保必要的动态库与 .exe 位于同一目录中。在您的情况下,从您的编译器目录中复制 QtCore4.dllQt5Core.dll 应该可以,但您以后需要阅读 this page 以了解更多详细信息。

另外,在未来,请更详细地描述您的问题。

【讨论】:

我部署了这个应用程序(它可以工作)。此应用程序创建世界文件。但它不会复制文件。问题是“如何设置应用程序路径?” 过去文件位于磁盘 C 上。目录是 C:\bin\... 我总是在工作前复制这些文件。现在我不想自己复制这些文件。 抱歉,我以为这是部署问题。在这种情况下,您可能需要检查applicationDirPath() 是否返回正确的目录,以及PathNew 是否指向它应该返回的位置。您可能必须将反斜杠转换为正斜杠,或者反过来。这就是我所知道的。

以上是关于如何设置应用路径?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置 heroku postgresql 应用程序的路径?

如何在 Jhipster (spring boot + angular) 应用程序上设置上下文路径

如何设置由 Visual Studio 2010 应用程序创建的文本文件的路径?

Angular2如何独立于html基本url设置应用程序根路径

如何在 angular2 路由中正确设置应用程序上下文路径?

C#中如何获得当前应用程序路径?