可执行文件无法正常工作 [Linux]

Executable file didn't work correctly [Linux]

本文关键字:工作 Linux 常工作 可执行文件      更新时间:2023-10-16

我在Qt C++ GUI上编写了一个程序,该程序根据给定的用户输入生成三个具有正确语法(C++)的.cpp文件。当我直接从Qt Creator启动程序或像脚本一样从控制台运行它时,它会在可执行文件目录中正确创建文件:

QDir().mkdir(QDir::currentPath() + "/Files");
QFile outputFile(QDir::currentPath() + "/Files/myFile.cpp");

当我双击可执行文件时,程序启动并正常工作,但它没有创建我的文件。

我正在使用Linux Debian Squeezy 6.0和Qt Creator 4.6.3

我认为当您双击可执行文件时,会创建可执行文件,但不是在所需的目录中,因为在这种情况下,当前目录是不同的。您应该使用 QCoreApplication::applicationDirPath() 而不是 QDir::currentPath()