qt设置32位编译
❶ 64位系统上装32位的Qt,用来开发64位的程序,这样可以吗
基本类型在 64位系统和 32位系统不一样,指令集也有区别。64位编译的程序不能直接链接到32位的库。链接库的位必须兼容。64位链接32位,链接会失败。必须安装qt64bit。
❷ qt 64 位编程和32位编程的区别
一、64位编译器系统下可以使用64位的无符号或有符号变量了。
二、64位操作系统提供了更多的编程接口API,这些多出来的接口主要是涉及将32位数据类型扩展为64位的问题了。比如原来关于内存管理相关的函数,参数是32位的,在64位操作系统下就需要提供参数为64位的管理函数了等等。
❸ qt4.8.6 怎么配置qml编译环境
1
下面介绍Windows版QT开发环境Qt Creater + MinGW + Qt libraries配置方法,
1.从MinGW网站下载mingw-get-inst-20120426.exe,默认安装到C盘根目录下:C:\MinGW,安装时选择C和C++ compiler ,默认只选中了C编译器。
2
2.下载安装配置QT libraries
http://qt-project.org/downloads
(1)可以在以上网址下载最新版的QT libraries,QT libraries就是QT Designer,QT设计师,用于设计UI界面。
最新版是Qt libraries 5.0 Beta 2 for Windows (501MB),我下载的是Qt libraries 4.8.3 for Windows (minGW 4.4, 317 MB),下载后是一个qt-win-opensource-4.8.3-mingw.exe安装文件,大小为324M。
默认安装路径为C:\Qt\4.8.3,安装时需要指定MinGW的安装路径为C:\MinGW。安装完后需要把C:\Qt\4.8.3\bin目录添加到系统变量的Path路径中。
并新建系统环境变量QMAKESPEC,32位系统把值设置为C:\Qt\4.8.3\mkspecs\win32-g++;如果是64位系统,需要把值设置为C:\Qt\4.8.3\mkspecs\tru64-g++
还要新建系统环境变量QTDIR,值为C:\Qt\4.8.3
3.安装后打开QT设计师主界面如图:
3
3.下载安装配置QT Creater
(1)还可以在上面的网址下载QT创建器。最新版本是Qt Creator 2.6.0 for Windows (51 MB),下载后是qt-creator-windows-opensource-2.6.0.exe,大小51M.
默认安装到C:\Qt\qtcreator-2.6.0目录下。需要把C:\Qt\qtcreator-2.6.0\bin目录添加到系统变量的Path路径中。如果不设置系统环境变量,则创建工程时kit不能设置成功,并且可创建的工程类型也会受到限制。
(2)设置QT Creator构建和运行配置项打开QT Creator,选择菜单“工具/选项”,选择左边的"构建和运行",再选择“Qt版本”选项卡,点击“添加”,qmake路径:C:\Qt\4.8.3\bin\qmake.exe。
如下图所示:
4
还需要设置Compilers选项卡中的“手动设置”项的编译器,Name设置为MinGW,编译器路径设置为C:\MinGW\bin\mingw32-g++.exe。
然后就可以正常的创建工程了。
(3)创建test1工程
选择“文件/新建文件和工程”,在弹出的窗口左侧选择“其他项目”,右侧选择“空的Qt项目”,点击“选择”,设置工程名,并点击“下一步”,由于之前已经设置了QT Creator构建和运行配置项,直接在弹出的窗口上点击“下一步”即可。然后点击“完成”,出现如下图所示的工程test1。
❹ ubuntu64位怎么编译32位qt库
64位可以编32位的程序出来,在各种FLAGS中增加 -m32 编出来的就是32位程序,连接时自然是找32位的共享库
这个要看发行版对32位支持的实现,比如gentoo下如果开abi支持双架构那很可能悲剧,因为有些包还没跟上,如果用binary的32位库又会因为版本不同出现莫名其妙的问题,比如fontconfig的坑。
我在64位编32位程序都是使用chroot的方法,这样就可以把32位的头文件库什么的全放在某个地方。我用的是ubuntu,32位库和64位库位置不一样,一般可以直接安装32位的库,如果遇到某些比较特殊的库,一般都可以通过重新编译增加rpath解决,如果没源码也可以用patchelf直接给elf上rpath。
如果您认可我的答案,请采纳。
您的采纳,是我答题的动力,O(∩_∩)O谢谢!!
❺ qt 5 在64位系统下怎么会是32位的环境
看你安装的是什么版本的吧,在64位也能安装32程序当然也能配置32位的环境啦。
之前有个工程要调用32的库,在vs中使用msvc2015编译器编译qt工程,下载的qt是64位的只好重新下载一个32位的qt。
❻ 在运行QT例程的时候无法运行,求大神帮忙解决,电脑是win764位系统,企业版,但是qt编译器是32位的
源代码路径里不要有中文空格之类的,用全英文的路径
❼ qt可编译运行但不能独立运行linux
出问题的exe名称为TestApp.exe,在Visual Studio下编译运行都正常,但无法直接点击exe运行。报错为(应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序)
本人环境:基于visual studio IDE下的QT编译器,共有四种,在 qt-版本号 文件夹下。
我的问题解决步骤如下:
1.看准自己项目的编译环境
我电脑虽然是64位的,但是编译器环境是32位的,故之后所有都需要以32位为标准
由于是Visual Studio ,所以采用下面文件夹中的msvc2017环境进行编译(没有标注64位就是32位)
2.添加系统环境变量
打开控制面板搜索环境变量,对系统path进行更改
按照上一步的环境进行配置!!!不要添加冗余路径,一项即可!!
PS:多项也可以,但是要在IDE中选择正确的default编译器,不然系统会搞混64和32位的dll
3.进入qt自带的命令行中
开始框中搜索 → 选择合适的环境(比如我是MSVC 2017 32-bit)→ 进入目标exe程序所在文件夹
输入命令
windeployqt xxx(目标exe名称)
复制
PS:该命令(windeployqt)若添加了系统Path后,也可以直接在系统cmd中运行,前提是:环境Path只有适合自己项目的那一项!!(only 32 or 64) 否则系统会弄混。。。然后就又失败链接了qaq
此时,在exe的文件夹下面会多出很多文件夹和dll文件,表明已经link成功
再次强调:不同位数的编译器链接出来的dll不同!一定一定要适合自己的程序
❽ win7 安装qt vs2010配置boost,CGAL等
一、安装cmake
1、这一步比较简单,下载安装最新版本cmake-2.8,开始如下安装
2、注意这里选择第二个选项,为所有的用户添加系统变量
3、选择安装到目录 F:\CMake 2.8,个人建议最好安装在C盘目录下。
4、安装完毕后确认一下系统变量中有没有红色框中的目录,若没有需要手动添加进去。
5、cmake安装完毕!
二、安装Boost库
1、下载最新版本,当前为boost_1_55_0
2、按 Win+R组合键输入cmd进入命令窗口:
切换当前目录为boost的安装目录(G:\boost_1_55_0),输入bootstrap.bat
3、执行完上述命令后会在安装目录下生成如下exe文件
4、继续在DOS窗口中输入bjam.exe,程序会根据你当前安装的编译环境(vs2010,vs2012,vs2013)等自动选择与之相适应的库文件和包含文件等。
此过程大概需要20分钟左右。根据下面第二个图片可以算出我的编译环境为MSVC-12.0即VS2013.
5、20分钟左右后可以看到如下界面,说明Boost库配置完成
三、安装CGAL
1、下载CGAL,这里我下载的是CGAL-4.4这个版本(当前最新的)
2、安装位数选择32位
如果选择64位进行安装,则会在以后配置完毕后出现类似“无法识别的外部符号。。。”等问题,很难进行正确配置。所以这里最好全部选择32位进行安装。
3、安装目录我选择C:\Program Files\CGAL-4.4
安装在其他目录时可能会出现用Cmake编译时出现好几外错误。可以尝试通过安装在C盘进行解决。
4、选择如下几项,单击下一步
5、安装完成后可能会出现如下提示,则需要手动添加F:\CGAL-4.4\auxiliary\gmp\lib到Path变量中
6、此时CGAL安装完成
四、用Cmake配置CGAL库
1、打开Cmake软件选择如下目录,注:两个目录是相同的
2、单击“config"-选择如下编译器(默认是32位,与前面安装软件一定要保持一致)
3、单击确定后,出现如下界面说明配置成功
4、找到如下图的这一项,选中,再次单击"config"进行配置
5、单击Generate,此时界面应如下。
6、此时在CGAL安装目录下出现如下文件:CGAL.sln
7、打开此文件,此时编译器会自动组建一个解决方案。如下图
8、选择32位debug模式,按F7进行编译,编译完成后如下图所示,表明CGAL至此完全配置成功。
五、举例测试CGAL
新建一个控制台应用程序,并添加如下代码
#include <iostream>
#include <boost/format.hpp>
#include <QtGui>
#include <CGAL/Qt/GraphicsViewNavigation.h>
#include <QLineF>
#include <QRectF>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QGraphicsScene scene;
scene.setSceneRect(0,0, 100, 100);
scene.addRect(QRectF(0,0, 100, 100), QPen(QColor(255,0,0)));
scene.addLine(QLineF(0,0, 100, 100));
scene.addLine(QLineF(0,100, 100, 0));
QGraphicsView* view = new QGraphicsView(&scene);
CGAL::Qt::GraphicsViewNavigation navigation;
view->installEventFilter(&navigation);
view->viewport()->installEventFilter(&navigation);
view->setRenderHint(QPainter::Antialiasing);
view->show();
return app.exec();
}
添加包含库目录,操作如下图,注意红色框中的添加内容
添加附加库目录,操作如下图,注意红色框中的添加内容
直接编译运行此时会出现如下错误,别急,我们离成功只差一步了
>test.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QColor::QColor(int,int,int,int)" (__imp_??0QColor@@QAE@HHHH@Z),该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QBrush::QBrush(void)" (__imp_??0QBrush@@QAE@XZ),该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QBrush::~QBrush(void)" (__imp_??1QBrush@@QAE@XZ),该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QWidget::show(void)" (__imp_?show@QWidget@@QAEXXZ),该符号在函数 _main 中被引用
1>test.obj : error LNK2001: 无法解析的外部符号 "protected: virtual bool __thiscall QWidget::winEvent(struct tagMSG *,long *)" (?winEvent@QWidget@@MAE_NPAUtagMSG@@PAJ@Z)
1>test.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __thiscall QWidget::windowActivationChange(bool)" (?windowActivationChange@QWidget@@MAEX_N@Z)
1>G:\Cpp\Midaxis\CGAL512\Debug\CGAL512.exe : fatal error LNK1120: 81 个无法解析的外部命令
添加附加依赖项。
选择“链接器”---“输入”,在其中输入如下添加LIB文件
phonon4.libQAxContainer.libQtCLucene4.libQtCore4.libQtDeclarative4.libQtDesigner4.libQtGui4.libqtmain.libQtOpenGL4.lib
再次编译运行,即可大功告成了!
