VS2017下编译32位QT程序的简单介绍

您所在的位置:网站首页 qt怎么编译32位 VS2017下编译32位QT程序的简单介绍

VS2017下编译32位QT程序的简单介绍

2023-04-21 12:34| 来源: 网络整理| 查看: 265

无法打开文件shell32.lib

1、一般打不开dll文件的话,就是调用出错。这时候应该将对应的lib文件靠近相应目录试试。如果不行的话。就要考虑库是不是有问题了

2、编译器配置问题吧,lib环境变量中的各个目录里没有就重装吧,或者用绝对路径试下。

3、检查你的lib搜索目录,如果缺少这个文件,从vc++安装盘或者网上找文件拷贝进来。

扩展资料:

分享一个实际解决问题案例:

前段时间在调试qt程序的时候,出现了这样一种情况

编写好的qt程序在qtcreator中,使用mingw编译没有任何问题。

当把编译器切换为msvc(即vs2017的编译器)时,总是会出现cannot open file “shell32.lib

不断的确认库的配置是否正确,以及该文件是否存在,结果都是库的路径正滚庆笑确,文件存在,但就是使用msvc无法编译通过

经过一段时间的思考,既然在qtcreator中使用msvc编译器不行

那么直差带接在vs2017里面编译qt程序是否是可行的

要在vs中运行qt程序,必须要安装qt的插件

可以百度搜索 qt vs tools

下载好对应版本的插件后,确保vs处于关闭状态,双击vsix就可以很简单的安装好了

安装好后还需要进行配置

在这里插入图片描述

点击qt options,依次

Qt Option-Qt Version-add-安装Qt的路径

Qt的安装路径下会有一个msvc的文件夹,就选择该文件夹

插件就会自动识别对应版本

在这里插入图片描述

点击ok完成

开始

点击Qt VS Tools,再点击open Qt project file

打开你的qt程序

开始编译,然后出现了很多错误,但大部分都是报头文件丢失的问题

在编译错误的最下方,说无法找到windows SDK (10.0.190–)

太好笑了,vs2017安装到最新了也只到10.0.17呀

那就更改一下vs的SDK版本 ,到当前的sdk版本

重新点击运行,完美运行,调试正常

结论

可能是由于qt程序默认的sdk版本号过高

当前的vs没有提供合适的sdk,使得编译出错

至于是否真的是这样,就还需要更多的尝试了

特此进行记录,

如果如果有遇到类似问题大含的,

可以尝试使用相同的方法进行解决

也希望对该问题有了解的前辈可以讲解一下其中的具体原因

vs不能编译qt

1. 下载qt的安装包和vs2011的qt插件,大家可以到下面的地址进行下载

BBS:

官网:

本人是在BBS上找到的,官网上没仔细去找了(英文太多)。

2. 安装qt sdk

安装其实很简单了,基谈滚配本上一路回车即可,主要是要注意下qt的安装路径最好安装在全英文路径而且中间没有空格, 安装好后,可以运行开始菜单里面的qt demo,直观感受下qt的强大功能!

界面非常炫酷

4. 编译qt

qt默认使用mingw进行编译,如果要使用vs2011开发,需要将qt重新编译。

入备芹开始菜单microsoft visual studio 2011,visual studio tools,visual studio

command prompt (2011),需要注意的是,这里面必须是使用visual studio command prompt

(2011),不能使用cmd的dos窗口

进入qt的安装目录后,执行cd qt,进入qt的根目录

运行命令 configure -platform win32-msvc2011,o(选择opensource模式)回车,y(同意license)回车

k1988插入:

在编译过程中,为了加快速度,可以对configure适当的加些参数,比如-fast,-no-webkit(这个貌似挺耗时的)

选择的命令行:configure -platform win32-msvc2011 -fast -debug-and-release

-no-webkit -no-script -no-qt3support -nomake demos -nomake examples

-nomake tools -mp

其中:mp是多线程编译选项。

接着就会自动配置qt的编译环境,等配置结束后,运行nmake,回车,qt就会开始漫长的编译过程,这段时间非常长,需要4个小时以上。

liuyu遇到的问题:(自己遇到过,当时没记录下来,但是记得编译过程中遇到这些含指问题)

1.DefaultLocalizationStrategy.cpp

C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/INCLUDE/yvals.h(21) : war

ning C4005: ‘_HAS_TR1’ : macro redefinition

command-line arguments : see previous definition of ‘_HAS_TR1’

platform/DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant

platform/DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected en

d of file in macro expansion

NMAKE : fatal error U1077: ‘“C:/Program Files (x86)/Microsoft Visual Studio 10.0

/VC/BIN/cl.EXE”’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘“C:/Program Files (x86)/Microsoft Visual Studio 10.0

/VC/BIN/nmake.exe”’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’

Stop.

解决办法:

打开文件…/Qt4.8.5/src/3rdparty/webkit/Source/WebCore

/platform/DefaultLocalizationStrategy.cpp

找到327行删除的引号“”

2.NMAKE:fatal error U1077. return code 0x2

产生原因:找不到代码文件中包含的头文件

解决办法:cmd下进入到vs安装路径/VC/Bin下,执行vcvars32,此时会执行vcvas32.bat自动为vs设置环境变量 (这个也试过好几回,没效果,依然出现上面错误)试试下面的就解决了:

经分析,是环境变量设置的CURR_DIR和TARGETDIR值中含有空格导致了此问题。

通过下面的命令删除环境变量即可。

在d:/Qt/4.8.6目录下键入下面的命令即可(不是很明白)

接着继续nmake命令 回车换行

k1988插入:(本人未找到以下文件)

请先删除

src/3rdparty/webkit/webcore/tmp/moc/debug_shared/mocinclude.tmp

src/3rdparty/webkit/webcore/tmp/moc/release_shared/mocinclude.tmp

/src/script/tmp/moc/debug_shared/mocinclude.tmp

/src/script/tmp/moc/release_shared/mocinclude.tmp

等文件,否则编译有可能失败。

k1988插入:

这一步很重要,关系到是否能用qt-vs-addin。

把d:/qt/bin下的.qmake.cache和configure.cache这两个文件手动备份到另一个地方。

(本人未尝试过)然后使用nmake clean进行清理掉那些中间文件(pdb,obj等文件),清理出4个g左右的空间。

nmake confclean是清理配制文件,占的空间不大,可以不执行了。这个时候再把刚备份的.qmake.cache和configure.cache拷回原处。

5.配置vs2011的qt开发环境(vs2011最好是英文版本,qt对vs2011中文版本可能支持的不好)

等qt编译好后就可以配置vs2011的开发环境了,进入vs2011,选择qt菜单,qt option,进入下图界面

k1988插入:

步骤编译好了,用qt助手paths加进去,不知为何ok键不亮, 红字提示:qt in the given path built using

mingw 这个是qt插件的bug,得手工改注册表 hkey_current_user/software/trolltech/versions/

下增加一个子项 qt486(需要的名称) 子项下面增加一个数值 installdir,值就是你要配置的qt路径

ps:如果没有versions这个文件夹就新建一个吧!

(这里确实是个坑,仅仅修改注册表居然没有用,还要去qt的lib文件夹下删掉两个文件 –删除qt的lib目录下(我的路径是D:/Qt/4.8.6/lib)的libqtmain.a and libqtmaind.a 两个文件。)

点击add,添加qt的安装目录,并取名字,我这里使用qt的4.8.6版本为名称,选择ok后即可。

6.新建或者导入qt项目

可以通过在vs2011新建一个qt项目

在VS2017迁移其他电脑程序的时候,qt无法识别,导致程序无法编译

你好

vs从2013升级没源斗到2017,ef使用不了的情况可裂戚以用此包,

mysql_vs2017兼容插件 已做兼容。

希望枯磨可以帮到你。

[img]vs 编译qt程序怎么设置qt版本

(1) 删除源码包中bin目录下的syncqt和syncqt.dat文件,如你不放心可将其改名或剪切到别的位置。如不修改将发生 Perl not found in environment - cannot run syncqt 错误。

(2) 修改\mkspecs\win32-msvc2010下的qmake.conf文件,将其中的

QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-改成QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t

注意末尾的”-“号区别。如备卖肢不修改将来如有项目使用wchar_t,qt却编译成wchar_t-,编译会导致连接错误,提示找不到Qwstring;

QMAKE_CFLAGS_RELEASE,QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO,QMAKE_CFLAGS_DEBUG这3处后面的MD,MDd对应改成MT,MTD,以实现在配锋没有VC库的电脑也能运行Qt程序。

(3) 修改src\3rdparty\webkit\Source\WebCore\platform下的DefaultLocalizationStrategy.cpp,定位到327行,将本行替换成return WEB_UI_STRING("Look Up \"selection\"", "Look Up context menu item with selected word").replace("selection", truncatedStringForLookupMenuItem(selectedString));(仿世由于word自动排版问题,请各位直接将以上英文部分一次性全复制,其实它们是一行,不要分行复制)。

如不修改将出现编译Webkit 时会出现 U1077错误。

VS2017通过QT插件创建QT,GUI项目,解决方案中无GeneratedFiles过滤器?该怎么才能有

1.新建一个喊升拆qt designer custom widget项目

一共会默认生成两个类,qtdesignerwidget用与插件设计,qtdesignerwidgetplugin用与把插件继承到qt designer中

2.在qtdesignerwidget中添加自定义插件代码

#include "QtDesignerWidget.h"

#include "QPushButton"

QtDesignerWidget::QtDesignerWidget(QWidget *parent)

: QWidget(parent)

{

QPushButton *button = new QPushButton(this);

button-setText("custom button"笑顷);

}

3.用release版本进行编译,因为要集成到qt designer中必须要用release版本

4.把上图的dll拷贝到qt designer的plugin目录下

5.打开qt designer就可以看到我们自定义的插件了

建立一个UI文件,可以把我们自定义的插件拖到里面去

6.当我们要在自己的项目中使用自定义插件,需要把下郑枣图对应的两个文件复制到我们自己的项目中

————————————————

Qt5.12.2编译qwebengine开H264支持

1.vs2017安装

2.QT5.12.2安装时选择模闹稿源码

3.Python2.7.5版本或之后版本,不支持Python3

1.以管理员权限打开vs2017 x64_x86

2.开启64位机旦孝器上编译32位vs脚本

"弯燃C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_x86.bat"

3.切换到qwebengine目录

cd D:\Qt\Qt5.12.3\5.12.3\Src\qtwebengine

d:

4.D:\Qt\Qt5.12.2\5.12.2\msvc2017\bin\qmake.exe -- -webengine-proprietary-codecs

5.nmake nmake install

6.等待编译结束

VS2017下编译32位QT程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、VS2017下编译32位QT程序的信息别忘了在本站进行查找喔。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3