今天遇到一个奇怪的问题。我用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. python(57):私有变量,代码块

    转载:http://blog.csdn.net/zhu_liangwei/article/details/7667745 引子 我热情地邀请大家猜测下面这段程序的输出: class A(object) ...

  2. Unique constraint on single String column with GreenDao2

    转:http://software.techassistbox.com/unique-constraint-on-single-string-column-with-greendao_384521.h ...

  3. 单独的 python 脚本文件使用 django 自带的 model

    django1.9.5&python3.4.4 文件结构 在一个爬虫脚本中将爬取的数据通过django自带的model保存到数据库   修改的文件(其余pycharm新建Django项目生成, ...

  4. mysql查询字段为null 返回0

    SELECT   IF(AVG(字段) IS NULL,0, 字段) as 重命名   From  xxx

  5. python pandas ---Series,DataFrame 创建方法,操作运算操作(赋值,sort,get,del,pop,insert,+,-,*,/)

    pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包 pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的, 导入如下: from panda ...

  6. Python3 ctypes简单使用

    >>> from ctypes import * >>> c_int() c_long(0) >>> c_char_p(b'hello') c_c ...

  7. TCP粘包, UDP丢包, nagle算法

    一.TCP粘包 1. 什么时候考虑粘包 如果利用tcp每次发送数据,就与对方建立连接,然后双方发送完一段数据后,就关闭连接,这样就不会出现粘包问题(因为只有一种包结构,类似于http协议,UDP不会出 ...

  8. Netty4.x中文教程系列(二) Hello World !<转>

    在中国程序界.我们都是学着Hello World !慢慢成长起来的.逐渐从一无所知到熟悉精通的. 第二章就从Hello World 开始讲述Netty的中文教程. 首先创建一个Java项目.引入一个N ...

  9. springcloud配置中心客户端配置遇到的坑

    1. 出错信息如下: 在启动配置中心的客户端时,报以下错误信息: Caused by: java.lang.IllegalArgumentException: Could not resolve pl ...

  10. Azkaban上传出错

    Error initializing project id: 4 version: 2 打包文件上传时,自动生成的中文名导致的,这里的压缩包不能用中文名称.