qt编译库
⑴ QT交叉编译时怎么添加静态库,急!!!
INCPATH = -I../EmbedSky/qt-4.5/__install/arm/mkspecs/default -I. -I../EmbedSky/qt-4.5/__install/arm/include/QtCore -I../EmbedSky/qt-4.5/__install/arm/include/QtNetwork -I../EmbedSky/qt-4.5/__install/arm/include/QtGui -I../EmbedSky/qt-4.5/__install/arm/include -I. -I. -I.
在这里增加你编译的静态库。。。可以试试,我也是新手
⑵ Qt下如何编译库
一般分为
动态库
和
静态库
,方法分别如下:
一.
静态库的生成
1.
测试目录:
lib
2.
源码文件名:
mywindow.h,
mywindow.cpp
3.
编写项目文件:
mywindow.pro
注意两点:
TEMPLATE
=
lib
CONFIG
+=
staticlib
4.
生成Makefile:
qmake
mywindow.pro
5.
编译生成静态库libmywindow.a
make
二.
静态库的使用
1.
测试目录:
test
2.
将mywindow.h与libmywindow.a拷贝至test目录下
3.
编写main.cpp,
包含头文件mywindow.h,
并调用MyWindow类
4.
编写项目文件:
test.pro
注意加上库路径与库文件名:
LIBS
+=
-L
./
-lmywindow
5.
生成Makefile:
qmake
test.pro
6.
编译:
make
7.
运行:
./test
三.
动态库的生成
动态库编译基本和静态库类似,需要将上述将要进行编译的项目文件.pro中下面这行去掉
CONFIG
+=
staticlib
按上述操作编译完后就可以得到以lib开头并且.so*
结尾动态库文件,一般有多个。
⑶ 你好,我现在用qt中要使用了一个vs2010编译的.lib静态库。
对于C语言而言,用于连接dll的连接lib是可以通用的,dll也是可以通用的。但是静态库目前而言并不是通用的,一般的处理方式是编译成dll,然后生成连接lib(a)库,引入项目,或者使用libtdl动态加载dll文件。
静态库不可通用的原因是,基础库相差太多,objmp甚至都无法识别使用vc默认选项编译出啦的obj文件格式。另外reimp不是用于这个用途的,是为dll的连接lib(a)文件提供转换的。
对于C++而言,所有二进制代码都是不可通用的,毕竟名称修饰都相差甚远。
⑷ 为什么动态编译Qt库需要Perl环境
您最初的想法是正确的,x86平台的库放在电脑上即可。
而通过arm-linux-交叉编译工具链编译过的库,是需要放在
开发板的文件系统里面的,通用的做法一般是放在/lib或者/usr/lib
目录里面即可。或者也可放在其他目录中,但是需要配置一下LD_LIBRARY_PATH
环境变量。例如放在/home/qtlib目录中,由于这个不是系统默认的动态库目录,
需要设置环境变量LD_LIBRARY_PATH,在/etc/profile下面添加:
export LD_LIBRARY_PATH=/home/qtlib:$LD_LIBRARY_PATH
⑸ 如何编译动态库/静态库之编译Qt4.8.5静态库
1. 下载Qt 。需要注册一下账号!
a) 选择你需要的版本
⑹ 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静态库编译,动态编译和静态编译可共存吗
通常不需要在系统变量中加入Qt库的位置的。Qt Creator可以自动扫描到系统中存在的Qt库版本,如果扫描不到,可以通过Creator的 Tool->Options->Qt4中添加静态库的路径。而QDevelop虽然没有那么智能,但是可以手动指定INCLUDE和LIB的位置。或许,这根本就不是一个问题。如果怀念动态库,或者在产品发布之前并不想体验静态编译那种蜗牛爬一般的速度,可以在pro文件中指定CONFIG += shared,而且,要记得在Project中选择相应的版本。
⑻ linux下 qt程序源代码如何编译运行
仔细看里面的源代码,应该有一些文件里有连接到*.lib文件的,这是QT的动态库文件把QT库编译成linux下的*.lib,然后编译的时候,把lib文件放在同一文件夹,并且编译命令加上-l *.lib或者放到根目录下的lib目录下也可以。这样试一下。.o文件还需要经过连接才能生成可执行的文件。
⑼ QT程序怎么调用vc,编译的静态库,动态库等
mingw编译出来的静态库后缀名为.a,编译出来的动态库的导入库后缀名为.dll.a,而在windows下后缀名为.lib的库可能是静态库也可能是动态库的导入库。 mingw编译出来的动态库的导入库可以直接在vc中直接使用