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个小时,真是想不到……开发真是充满惊喜。你想不到你会在哪个坑里耽搁半天,耽搁多了。进度会大大偏离预期,而我们在做计划时往往看不到这些行进过程中的小障碍,所以,怎么评估都是乐观的。所以我是乐观的程序猿

时间: 2024-10-12 06:41:17

Qt SDK的x64与x86版本号以及与VS的配合的相关文章

Linux下卸载QT SDK

unbuntu下卸载QT方法一:you can remove it like this, those developers should add this somewhere ! like next to the download textlinuxmint ~ # cd /optlinuxmint opt # lsqtsdk-2010.04linuxmint opt # sudo ./qtsdk-2010.04/bin/uninstalllinuxmint opt # 方法二:You can

QT,QT SDK, QT Creator 区别

Qt是一个跨平台的C++图形用户界面应用程序框架.(不仅仅是C++,还包括QML,Qquick,html5)它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程. QT Creator 跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE). QT SDK 包括了Qt库.Qt Creator IDE和Qt工具,这些都集成在一个易于安装的文件包里.. Qt<QT C

DllImport 自动选择x64或x86 dll

前言 标题不知道怎么确切地命名,在.net的托管世界里,有时不得不使用c的某个动态库,比如ocr.opencv等,如果幸运,有前人已经包装出.net版本,但有些不非常流行的库,只能自己使用pinvoke或c++ cli包装了,比如笔者就遇到了一个,mqtt客户端库. Pinvoke的多平台问题 如果您没有接触过如何调用非托管dll,没有了解过c#的DllImportAttribute,可以看看以下资料: 1.DllImportAttribute 2.Pinvoke 3.extern 关键字 多平

redhat 6.4 x64 和x86 更新bash

x64安装 下载bash bash-4.1.2-15.el6_5.2.x86_64.rpm http://mirror.centos.org/centos/6/updates/x86_64/Packages/bash-4.1.2-15.el6_5.2.x86_64.rpm 安装新包bash chmod u+x bash-4.1.2-15.el6_5.2* rpm -Uvh bash-4.1.2-15.el6_5.2.x86_64.rpm i86安装 下载bash bash-4.1.2-15.el

IDAPro6.6带X64 ,X86 F5

IDAPro6.6(正版泄露的) 获取地址: http://www.pd521.com/thread-205-1-1.html 上面地址拿到的,就放上连接了. 这里是下载连接. 链接:http://pan.baidu.com/s/1eQnIA2I 密码:543i

vc_redist x64 或者x86下载地址

https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads 微软的东西,果然还是人家的搜索好使 原文地址:https://www.cnblogs.com/wa007/p/11615564.html

DALSA相机SDK不完全教程

1.SDK介绍 Dalsa是全球顶尖的CCD/CMOS芯片和相机制造商,总部位于加拿大,我使用的是 Dalsa的 Genie_TS_M1920(黑白)和 Genie_TS_C2048(彩色)两款工业相机. 打开SDK包,SDK文件和例程在 Sapera文件夹中,SDK分x64和x86两个版本,x86的版本不能在64位机器上运行,x64的版本不能在32位机器上运行. 打开后 2.C#的使用方法 1)添加类库的引用,即Components/Net/Bin/DALSA.SaperaLT.SapClas

Dll注入:X86/X64 远程线程CreateRemoteThread 注入

远线程注入原理是利用Windows 系统中CreateRemoteThread()这个API,其中第4个参数是准备运行的线程,我们可以将LoadLibrary()填入其中,这样就可以执行远程进程中的LoadLibrary()函数,进而将我们自己准备的DLL加载到远程进程空间中执行. 函数原型: HANDLE WINAPI CreateRemoteThread( _In_ HANDLE hProcess, //远程线程的句柄 _In_opt_ LPSECURITY_ATTRIBUTES lpThr

百度地图 Android SDK - 新的版本号(v3.2.0)正式上线

百度地图 Android SDK v3.2.0 在版本号 2014 年 11 月 07 日本正式推出工作完成! watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FsbG1lc2Vu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 在这个版本号中.我们主要为广大开发人员开放了百度城市热力图层,帮助开发人员构建形式更加丰富的地图应用! 那么这里可能