今天遇到一个奇怪的问题。我用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的配合的更多相关文章

  1. QT,QT SDK, QT Creator 区别

    Qt是一个跨平台的C++图形用户界面应用程序框架.(不仅仅是C++,还包括QML,Qquick,html5)它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩 ...

  2. 转:x64与x86的改变

    http://tieba.baidu.com/p/1250470248 x64与x86的改变 硬件要求就是64位的CPU.操作系统也必须是64位的,如果在64位的CPU上安装了32位的操作系统,就算编 ...

  3. Linux下卸载QT SDK

    unbuntu下卸载QT方法一:you can remove it like this, those developers should add this somewhere ! like next ...

  4. Check a dll is x64 or x86

    Just read two good articles on this topic: http://stackoverflow.com/questions/480696/how-to-find-if- ...

  5. SQLite遇到的关于x64、x86问题

    初次使用SQLite遇到了莫名其妙的问题: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.92.0, Culture=neutral, PublicKeyTok ...

  6. 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 ...

  7. DllImport 自动选择x64或x86 dll

    前言 标题不知道怎么确切地命名,在.net的托管世界里,有时不得不使用c的某个动态库,比如ocr.opencv等,如果幸运,有前人已经包装出.net版本,但有些不非常流行的库,只能自己使用pinvok ...

  8. 检测一个DLL文件是x64还是x86

    对于一个DLL,我们如何判定其是32位的还是64位的,或者是any cpu的platform? Visual Studio提供了一个很好的工具:corflags,这个是内嵌到Developer Com ...

  9. 诺塔斯读写卡QT SDK笔记

    卡片操作函数调用 寻卡: Request --> LotusCardRequest 防撞处理: Anticollission --> LotusCardAnticoll 选卡: Selec ...

随机推荐

  1. RIFF格式简介

    Resource Interchange File Format(简称RIFF),资源交换文件格式,是一种按照标记区块存储数据(tagged chunks)的通用文件存储格式,多用于存储音频.视频等多 ...

  2. 在XSLT中输出内容带有CDATA的XML节点

    http://www.cnblogs.com/jaxu/archive/2013/03/13/2956904.html **************************************** ...

  3. java判断集合是否相等

    1,使用commons-collection-3.2.1.jar包中的CollectionUtils.isEqualCollection()方法 2,还有其他集合操作:disjunction(a,b集 ...

  4. Android实例-调用GOOGLE的TTS实现文字转语音(XE7+小米2)(XE10.1+小米5)

    相关资料: 注意:在手机上必须选安装文字转语音引擎“google Text To Speech”地址:http://www.shouji56.com/soft/GoogleWenZiZhuanYuYi ...

  5. 基于jQuery果冻式按钮焦点图切换代码

    基于jQuery果冻式按钮焦点图切换代码.这是一款基于jQuery+CSS3实现的图片切换代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class=&quo ...

  6. java基础篇---异常处理

    认识异常 异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序 ...

  7. [转]MySQL如何设置自动增长序列 SEQUENCE

    原文地址:https://blog.csdn.net/czbqoo01/article/details/70148516 解决思路:由于mysql不带sequence,所以要手写的,创建一张储存seq ...

  8. 【转】 Java中的变量赋值和参数传递

    原文地址:http://blog.csdn.net/whmii/article/details/3363667 变量赋值和参数传递是java中两个容易让人迷惑的问题.对于原始类型(primitives ...

  9. mysql行转列转换

    http://blog.csdn.net/sinat_27406925/article/details/77507478 mysql 行列转换 ,在项目中应用的极其频繁,尤其是一些金融项目里的报表.其 ...

  10. virtualbox ubuntu 虚拟画面卡顿问题

    要在虚拟机全局配置里面添加选项: