QT基本问题

--------------------------------------------------------------------------------------

fatal error LNK1112: module machine type ‘x64‘ conflicts with target machine type ‘X86‘

These are the things to check, in this order: Check your properties options in your linker settings at: Properties > Configuration Properties > Linker > Advanced > Target Machine. Select MachineX64 if you are targeting a 64 bit build, or MachineX86 if you are making a 32 bit build.

Select Build > Configuration Manager from the main menu in visual studio. Make sure your project has the correct platform specified. It is possible for the IDE to be set to build x64 but an individual project in the solution can be set to target win32. So yeah, visual studio leaves a lot of rope to hang yourself, but that‘s life.

Check your library files that they really are of the type of platform are targeting. This can be used by using dumpbin.exe which is in your visual studio VC\bin directory. use the -headers option to dump all your functions. Look for the machine entry for each function. it should include x64 if it‘s a 64 bit build.

In visual studio, select Tools > Options from the main menu. select Projects and Solutions > VC++ Directories. Select x64 from the Platform dropdown. Make sure that the first entry is :$(VCInstallDir)\bin\x86_amd64 followed by $(VCInstallDir)\bin.

Once I did step 4 everything worked again for me.

LNK1112: module machine type ‘x64‘ conflicts with target machine type ‘X86‘

The problem has been solved. Many thanks to steve. Here is the solution, for those might have the same problem :) 1. To choose the x64 platform, click Build > Configuration Manager.  Under Active Solution Platform, select <New...> In the dialog that comes up, select x64 as the new platform (it may come up by default) and then click Ok. 2. select the x64 platform in the VC window. 3. Check the Linker > Command Line property page to make sure there is no /MACHINE switch there     3.1 if you find /MACHINE ** in the additional options window, just deletle it.     3.2. if you find /MACHINE ** in the all options window, Go to the Linker > Advanced     property page and make sure that   Target Machine is "Not Set".lan

--------------------------------------------------------------------------------------

Error: QWidget: Cannot create a QWidget without QApplication

产生这个错误的原因是这个QWidget 是建立在QApplication 上的,(From the docs, the QApplication class manages the GUI application‘s control flow and main settings whilst the QCoreApplication class provides an event loop for console Qt applications)

application的类型需要为QApplication

#include<QApplication>

QApplication a(argc,argv);

--------------------------------------------------------------------------------------

ASSERT: "qGuiApp" in file kernel\qopenglcontext.cpp, line 1238

From the documentation of QOpenGLContext::openGLModuleType():

Note: This function requires that the QGuiApplication instance is already created.

You may set your desired version regardless of the openGLModuleType (remove the check) and check later if you got your requested version or not.

在调用QOpenGLContext::openGLModuleType()之前创建application即可

--------------------------------------------------------------------------------------

时间: 2024-10-19 22:13:05

QT基本问题的相关文章

Qt编译好的OCI驱动下载

在上文,我累赘了一大堆,给大家写了一篇Qt如何编译OCI驱动,在这里自然就不再累赘了,直接附上编译好的文件供大家下载: <Qt5.3.1+OCI驱动下载地址> 有经济来源的请传送:http://download.csdn.net/detail/u012433546/9922424 无经济来源的请传送:链接:http://pan.baidu.com/s/1boKG9lH 密码:7yj5 <Qt5.3.2+OCI驱动下载地址> 有经济来源的请传送:http://download.csd

搞清楚基本问题

在深入理解一个领域时,搞清楚基本问题是什么. 先考虑一下,如果搞不清基本问题会怎样? 不能正确地看清问题的本源,导致在错误的方向或者非主要矛盾上投入不必要的资源,最终不能解决实际问题或者效果不好: 漫无边际地接触地摸索,问题扩大化,使得问题过于庞杂而无法理出头绪,导致停滞不前: 问题搞不清楚,脑子里一团乱麻,易导致情绪上烦躁,产生放弃理解对象的念头.相反,如果事情理的比较清楚,容易产生耐心和信心. 以上总结来说:一是,面对事物时抓不住重点,二是容易产生烦躁情绪从而放弃面对和处理事物. 如果能想清

Bash 的若干基本问题

Bash 的若干基本问题 这里介绍一些bash启动前.后的问题,以及一些使用bash需要注意的基本问题. 1.Bash的介绍 Bash是一种Shell程序,它是一般的Linux系统中的默认的Shell程序,一般情况下Bash指的是/bin/bash这个软件. 一个Linux系统中有多少个可用的Shell程序,可以从/etc/shells文件中查出来. 当前登录用户的默认Shell是哪一个,可以从/etc/passwd文件中与此用户对应的那一行最后一个字段看出来.或者也可以通过echo $SHEL

Qt线程的简单使用(一)

Qt中线程的一种创建方式,就是使用QObject::moveToThread()函数.如下,直接上源代码,可以把费时的任务放到doWork()方法里进行,不阻塞主线程. 1 #ifndef WORKER_H 2 #define WORKER_H 3 4 #include <QObject> 5 6 class Worker : public QObject 7 { 8 Q_OBJECT 9 10 public: 11 Worker(); 12 ~Worker(); 13 public slot

第三十八课、Qt中的事件处理(上)

一.图形界面应用程序的消息处理模型 二.Qt的事件处理 1.Qt平台将系统产生的消息转换为Qt事件(每一个系统消息对象Qt平台的一个事件) (1).Qt事件是一个QEvent的对象 (2).Qt事件用于描述程序内部或者外部发生的动作 (3).任意的QObject对象都具备事件处理的能力 2.GUI应用程序的事件处理方式 (1).Qt事件产生后立即被分发到QWidget对象 (2).QWidget中的event(QEvent*)进行事件处理 (3).event()根据事件类型调用不同的事件处理函数

MISP版本嵌入式QT编译时出现mips-linux-gcc command not found

configure的时候都没什么问题我的configure是:./configure -prefix /opt/qt-jz -xplatform qws/linux-mips-g++ -embedded mips  configure顺利的过了,但是当make的时候,出现了mips-linux-gcc :Commond not fount! 我装的是mipsl-linux-gcc ,而且已经交叉编译过了个hello world了.. make时出现的错误是:make[1]: Entering d

Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要配置Qt库和编译器.编译器只能使用苹果公司自主研发的Clang.1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Qt并默认安装 http://down

让Qt在MIPS Linux上运行 good

下载 首先下载Qt everywhere,当前的版本是4.7.2,可以从nokia的网站上下载,也可以从git服务器上下载.考虑到文件有200M 以上的大小,下载速率低于25kBPS的,需要考虑从什么地方复制一份,否则需要等待较长时间才能下载下来.我是在家里下载这个文件的,所以开始编译已经是第二天了.考虑提升员工效率的话,需要预先预备好这些下载文件,或者增加接入带宽. 解压 第一步下载的文件是一个tar包,所以需要解压,通常解压需要在unix/Linux环境下进行,如果只是看代码,windows

qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method

最近在做一个网络音乐播放器时,由于出现qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method, 而不能播放网络歌曲. 上网搜了半天,都说要在电脑那里安装openssl,然后把C:\OpenSSL-Win64\bin下的libeay32.dll和ssleay32.dll拷贝到D:\Qt\Qt5.4.2\5.4\mingw491_32\bin, 然而并没什么卵用! 我的解决办法是: Qt的这个目