Qt SDK的x64与x86版本号以及与VS的配合
今天遇到一个奇怪的问题。我用Qt的64位版本号,动态载入一个SDK的dll,不管怎样都是载入失败。QLibrary也没什么有价值的信息。
实在没辙,就用VS2013写了个小程序,用LoadLibrary来载入,嘿。碰见了RC1106错误。挡了我1个小时。最后看这里(http://blog.csdn.net/zhongchengli/article/details/6152492)解决掉了这个错误。
然后,调用DLL竟然成了。
于是我把Qt Creator里的项目导入到VS 2013中,心想可能会好呢。死马当作活马医吧,结果还是不好。
一怒之下,把QLibrary替换为LoadLibrary何GetProcAddress,结果还是不好。
于是我整个人都不好了。
苦苦思索中,后来忽然想到目标平台,于是就去看我的小demo,发现时x86的。
而我的Qt SDK和项目,是x64的。
再看我用的SDK,也是x86的。
尼玛,问题找到了!又一次到qt.io下载去,看下图:
看到了没,我标注的部分。带64的那个安装包。安装出来的Qt环境,库都是x64的。你用它建立的项目。默认生成的目标文件也是x64的。假设你去混合使用其它x86的SDK,就会遇到和我相似的问题。
我安装了32位的Qt SDK,结果我计算机上Qt版本号太多,把VS 2013给搞乱了……编译的应用跑都跑不起来……一顿乱调整环境,把VS 2013里项目属性页中调试分类里的环境这一项的值设置了固定的Qt路径,最终能够执行了……
一个小问题来来回回折磨了将近3个小时,真是想不到……开发真是充满惊喜。你想不到你会在哪个坑里耽搁半天,耽搁多了。进度会大大偏离预期,而我们在做计划时往往看不到这些行进过程中的小障碍,所以,怎么评估都是乐观的。所以我是乐观的程序猿。
Qt SDK的x64与x86版本号以及与VS的配合的更多相关文章
- QT,QT SDK, QT Creator 区别
Qt是一个跨平台的C++图形用户界面应用程序框架.(不仅仅是C++,还包括QML,Qquick,html5)它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩 ...
- 转:x64与x86的改变
http://tieba.baidu.com/p/1250470248 x64与x86的改变 硬件要求就是64位的CPU.操作系统也必须是64位的,如果在64位的CPU上安装了32位的操作系统,就算编 ...
- Linux下卸载QT SDK
unbuntu下卸载QT方法一:you can remove it like this, those developers should add this somewhere ! like next ...
- Check a dll is x64 or x86
Just read two good articles on this topic: http://stackoverflow.com/questions/480696/how-to-find-if- ...
- SQLite遇到的关于x64、x86问题
初次使用SQLite遇到了莫名其妙的问题: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.92.0, Culture=neutral, PublicKeyTok ...
- Notepad++ 7.3.2 Download 64-bit x64 / 32-bit x86
Notepad++ 7.3.2 Download 32-bit x86 Notepad++ Installer 32-bit x86: Take this one if you have no ide ...
- DllImport 自动选择x64或x86 dll
前言 标题不知道怎么确切地命名,在.net的托管世界里,有时不得不使用c的某个动态库,比如ocr.opencv等,如果幸运,有前人已经包装出.net版本,但有些不非常流行的库,只能自己使用pinvok ...
- 检测一个DLL文件是x64还是x86
对于一个DLL,我们如何判定其是32位的还是64位的,或者是any cpu的platform? Visual Studio提供了一个很好的工具:corflags,这个是内嵌到Developer Com ...
- 诺塔斯读写卡QT SDK笔记
卡片操作函数调用 寻卡: Request --> LotusCardRequest 防撞处理: Anticollission --> LotusCardAnticoll 选卡: Selec ...
随机推荐
- win7如何不用点击用户名 直接自动登录桌面
win7如何不用点击用户名 直接自动登录桌面 在win7系统中开机时必须点击相应的用户名才能登陆系统桌面那么如何取消这一功能使当前账户自动登录到系统桌面呢? 1 .在开始菜单搜索框输入 “netplw ...
- Huawei AP3030DN固件升级
进入uboot: 上电,当出现Press f of F stop Auto-Boot in 3 seconds: 0 时按键盘上的F键 Password for uboot cmd line : 密码 ...
- Node.js学习笔记(4)--简单路由,老师学生id
说明(2017-5-2 17:57:23): 1. foo.js var http = require("http"); var url = require("url&q ...
- 4. K-Means和K-Means++实现
1. K-Means原理解析 2. K-Means的优化 3. sklearn的K-Means的使用 4. K-Means和K-Means++实现 1. 前言 前面3篇K-Means的博文从原理.优化 ...
- js实现完美身份证号有效性验证(转)
转载自:http://www.cnblogs.com/lzrabbit/archive/2011/10/23/2221643.html 最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验 ...
- python.pandas read and write CSV file
#read and write csv of pandasimport pandas as pd goog =pd.read_csv(r'C:\python\demo\LiaoXueFeng\data ...
- for语句查看js对象
for (var obj in o.curform) { document.write("<p>" + obj + " = " + o.curfor ...
- 火狐FireFox57不支持Tab Mix Plus插件的问题
火狐的Tab Mix Plus插件管理标签页很好用,但是在这次升级到57版本后不能用了,也没找到合适的替代品. 该插件一个很常用的功能是在新建的标签页打开网页(而不是在当前页上跳转),该功能直接修改C ...
- python3.6使用mysql
因为MySQLdb不支持python3,需要导入pymysql 可以选择pip 安装pymysql,或者pycharm安装 [File] >> [settings] >> [P ...
- LInux 文件系统 tmpfs 分区不显示解决
因为不小心把 kernel 的 tmpfs 的选项去掉,导致 文件系统内的 tmpfs 分区不显示. kernel 打开如下选项即可 在文件系统内就会有相关显示