
linuxqt获取applicationdirpath失败是链接线路错误。解决方法有。
1、在设置启动脚本时,先cd到程序所在目录,然后再执行程序。
2、获取程序绝对路径qApp->applicationFilePath(),然后截取出程序路径(这个方法没有测试)。
qt中pro文件调用多个makefile文件步骤流程如下:
1、生成Makefile生成pro。
2、pro文件特殊路径当前文件路径PWD4。
3、路径中含空格pro文件配置。
QString getRunParentPath()
{
QString strPath = QCoreApplication::applicationDirPath();
QDir dir(strPath);
bool bSuccess = dircdUp();
if (bSuccess == true) {
strPath = dirpath() + "/";
}
return strPath;
}
#include <QDesktopServices>
#include <QUrl>
QString runPath = QCoreApplication::applicationDirPath(); //获取exe路劲
QString Name = “studentrtf"”;
QString AllPath = QString("%1/%2")arg(runPath)arg(Name);
QFile bfilePath(AllPath);
if(!bfilePathexists()){//是否存在
return;
}
QString filePath = "file:///" + AllPath; //打开文件夹用filse:///,打开网页用>
Windows和Linux执行文件的方式不同,Linux默认从系统路径中寻找,Windows从当前路径寻找。
在Linux上运行当前目录下的文件用
/文件名
而不是直接输入文件名,或者直接连同全路径一起输入。
你的问题是这样的,你的qmake,告诉编译器去你的系统路径中寻找系统中自带的qt库,但是你没有安装。你自己安装了一个开发环境,但是你调用了系统的QT里面的qmake,系统自带的qmake会寻找编译你的桌面(KDE)的时候用的qt文件,但是你没有安装,所以所有的文件的位置和版本都找不到。
解决:
1、你可以找到你自己安装的qt然后运行里面的qmake。让qmake找到你自己安装的qt相关文件。
2、直接删除自己安装的软件,加入系统自带的qt开发包,一般叫做qt-xxx-devel,让系统的qt可以找到他原来的开发包。
3、不建议混合,即用系统的qmake找到你目前安装的qt库,那样可能版本不兼容。
关于QT:
你可以认为分成两个部分,一部分用来开发,一部分用来运行程序。你的系统中已经安装了用来运行程序的部分,因此qmake被识别成系统的。而你另外装了一个完整的QT(包含开发部分),但是系统的qmake仍然试图寻找,他自己原来的那个开发部分,而不是你新装的。即使修改文件让系统找到你的那些开发文件也可能和系统的版本不完全一致而出错。
以上就是关于linuxqt获取applicationdirpath失败全部的内容,包括:linuxqt获取applicationdirpath失败、qt中.pro文件调用多个makefile文件、qt 怎样返回exe所在目录的上一级目录,currentPath这个是绝对路径,不行,希望高手指点函数,谢谢大家!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)