可执行文件没有';无法正常工作[Linux] 我在QT+C++ GUI上编写了一个程序,从给定的用户输入生成三个具有适当语法(C++)的CPP文件。当我直接从Qt Creator启动程序或像脚本一样从控制台运行程序时,它会正确地在可执行目录中创建文件: QDir().mkdir(QDir::currentPath() + "/Files"); QFile outputFile(QDir::currentPath() + "/Files/myFile.cpp");

可执行文件没有';无法正常工作[Linux] 我在QT+C++ GUI上编写了一个程序,从给定的用户输入生成三个具有适当语法(C++)的CPP文件。当我直接从Qt Creator启动程序或像脚本一样从控制台运行程序时,它会正确地在可执行目录中创建文件: QDir().mkdir(QDir::currentPath() + "/Files"); QFile outputFile(QDir::currentPath() + "/Files/myFile.cpp");,c++,linux,qt,user-interface,C++,Linux,Qt,User Interface,当我双击可执行文件时,程序启动并正常工作,但它没有创建我的文件 我使用的是Linux Debian Squeezy 6.0和Qt Creator 4.6.3,我认为双击可执行文件时会创建,但不会在所需的目录中创建,因为在这种情况下,当前目录是不同的。您应该使用QCoreApplication::applicationDirPath()而不是QDir::currentPath()您应该使用QCoreApplication::applicationDirPath()而不是QDir::currentP

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


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

您应该使用
QCoreApplication::applicationDirPath()
而不是
QDir::currentPath()
。注意:在Linux上,此函数将尝试从/proc文件系统获取路径。如果失败,则假定argv[0]包含可执行文件的绝对文件名。该函数还假定应用程序未更改当前目录。