命令行编译qt程序遭遇 No such file or directory

命令行编译qt程序遭遇 No such file or directory,第1张

对于一个qt工程,qt-creator运行没有问题。后面为了提高自动化效率,写一个脚本通过命令行编译qt程序,发现编译报错,报错信息如下:

报错信息直接指明了原因:找不到头文件,说明要用的库的头文件路径不在 INCLUDE 变量里,所以编译时就找不到。

除了上面的报错,可能还会有如下的报错情况:

那为什么qt-creator运行没有问题呢?

因为 qt-creator 获取了一些环境变量如下:

解决办法就是自行把需要用到的路径加到相应的变量里。

如下通过 python 脚本来编译qt程序,把路径加到相应的 PATH 、 INCLUDE 、 LIB 环境变量里,这样编译的时候就能找到相应的文件

脚本里的路径添加都是临时生效,脚本执行完就失效了,所以不用担心会破坏系统环境变量。

如果在Qt编译过程中出现报错提示无法识别nh,则可能是因为编译器无法找到该头文件,或者程序代码中存在语法错误导致编译失败。解决方法如下:

1 确认nh是否被正确包含在源代码中。有时候程序员在添加头文件时可能存在拼写错误或者路径设置错误,需要检查一下自己的程序代码。

2 确认头文件搜索路径是否正确。有些情况下,编译器可能无法找到所需的头文件,需要通过手动设置头文件搜索路径来解决问题。可以在pro文件中的INCLUDEPATH变量中添加对应的头文件路径。

3 确认程序代码中是否存在语法错误。有时候编写代码时可能存在语法错误,编译器无法正确解析代码。需要仔细排查并修正代码中的错误。

4 检查Qt和编译器版本是否兼容。如果使用新版本的Qt,但是编译器版本较老,可能会出现无法识别头文件的情况。需要确认Qt和编译器版本是否兼容。

如果以上方法都不行,可以查看具体的报错信息,根据错误提示进一步进行排查和处理。可以尝试重新配置环境变量或者更新编译器等 *** 作,以解决编译错误问题。

缺少这个libEGLdll,拷到程序目录,问题解决,我也遇到相同问题,就这样解决了,此外,还要在部署目录里建立platforms目录,并在platforms放入qminimaldll和qwindowsdll两个文件,程序才能运行。

qt编译报错后不断编译可能会成功。重启qt,编译程序会继续报错,此时,只需要将对应的clexe和cldlldll拷贝到vc14目录下可能会成功,错后不断编译,找准相应的方式与方法总会成功的。

原因是我的界面是用QtDesigner生成的ui文件,但是pyinstaller没有打包进来,把相关的ui文件以及用pyuic生成的py文件复制到startexe目录下即可运行!

如果pyinstaller用了-F命令,只生成一个exe, 也需要按照上面的方法复制相应的ui及ui生成的py文件来exe目录,且目录结构与原始项目结构要一致。

在发布自己的程序时,很多时候都会因为一些依赖的dll文件不存在而报错,而我们新手却不知道应该如何添加,那么我们可以使用QT自带命令行来自动添加依赖文件。

命令行指令:windeployqt exe

首先,将你需要打包的exe文件单独放在一个文件夹中,然后打开QT自带的命令行,找到那个文件夹,之后就可以使用windeployqt加上exe文件来自动打包了,QT会自动帮你添加好全部的依赖文件,保证100%能运行,但是需要注意的是,由于这个100%的保证,他也许添加了很多无用的dll文件,这会使得我们自动打包出来的文件很臃肿,所有有经验的各位可以按需要自行删除不必要文件。

崩溃错误代码0一般是指访问空指针。

在Qt程序开发中,崩溃错误代码0一般是指访问空指针或者已经被释放的内存。这种错误一般称为空指针异常或野指针异常,是由于程序在访问内存时,访问了未初始化的指针或已经被释放的指针导致的。

qt程式崩溃最常见的应该是内存溢出,这是编程习惯造成的。

以上就是关于命令行编译qt程序遭遇 No such file or directory全部的内容,包括:命令行编译qt程序遭遇 No such file or directory、qt编译报错无法识别n.h、我使用QT5.0.1写的程序在自己有安装QT的电脑上能正常运行,但在没安装QT的电脑上会出错,我把BIN等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10110859.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存