‘壹’ qt4.8安装完静态编译后怎么使用
如果你说的是Qt程序的话,静态编译就得自行从源码开始编译Qt静态库,官网预编译的版本是不包含静态库的。首物猛这个很复杂,请参考qt-everywhere-opensource 中提供的编译帮助。注意如果使用miongw的话,gcc版本最好不要是4.6.2。这个版本比较特殊,但是它是mingw官方版的最新打包版本。
如果你说的是非qt库依赖的话,有两种mingw和vs,前者有部分发行版默认去除了dll依赖,直接连接的静态库,后者非常不推荐使用静态库,毕竟它加载的是系统常用dll,基本上所蚂陵有系统者桥都是推荐安装的运行时环境,用静态库吃力不讨好。
‘贰’ QT 静态编译
qt 开源版本 不允许静态编译
可以将DLL打包,就能再其他的机器上运行了.
请采纳。
‘叁’ 关于Qt的工具的版本,各个概念,请大侠详细解释一下
你是要让qt能使用,两种套路都可行:
1、安装傻瓜包QtSDK,大概1GB多,
你要用到的所有东西都在这里面,按照默认的安装,
装好后直接打开qt creator就可以用。
2、自己组装:
(1)下载Qt Creator (qt-creator-win-opensource-2.4.1.exe),就是你下载的50多MB的那个,按照默认的装上;
(2)下载Qt Framework (qt-win-opensource-4.8.0-mingw.exe),两三百兆的,
按照默认的装上。
打开qt creator,菜单“工具”--》“选项”,
在打开的对话框里选左边的“构建和运行”,
右边选“Qt版本”,
点击添加,找到你之前安装的Qt Framework 的文件夹里的bin子文件夹,
找到qmake.exe,然后点击确定,这样就设置好了,
就能解决你遇到的“找不到合适的QT版本”的问题。
下面说这些工具的关系:
要正常使用qt,至少要这些东西:
(1)代码编写和调试的界面,就是qt creator
(2)代码编译工具合集,如MinGW(包括gcc和g++、gdb等)
(3)Qt库本身,包括头文件、库文件和qt designer设计师、qt assitant帮助、qt linguist翻译器三个工具。
qt官方是这样打包的:
上面(1)(2)部分打包一起的,如qt-creator-win-opensource-2.4.1.exe,
把这里面的都装上,就有了代码编辑和编译的两部分工具。
上面(3)部分打包在Qt Framework 里面,如qt-win-opensource-4.8.0-mingw.exe
。
你之所以无法编译qt代码,就因为没装这Qt Framework 。
而qt SDK是1GB多的大包,包括上面提到的(1)(2)(3)全部的东西,
装上Qt SDK就什么都有了。
‘肆’ ubuntu 环境下怎样编译pixhawk px4源码
Ubuntu环境下Pixhawk原生固件PX4的编译
分类:无人机ubuntu代码编译Pixhawk
(3946) (6)
Ubuntu下Pixhawk原生固件PX4的编译这个问题困扰了两天时间,可能是博主脑力不够,主要是环境搭建不起来,主要原因应该是路径的原因,最后在大师傅的帮助下还好成功将路径搭建好,成功编译。
下面就跟大家分享一下环境搭建的过程。
1.操作环境
每次写文章,环境一定要介绍的,不同的环境总会出现不同的问题
我的环境是Windows下面安装虚拟机,虚拟机跑Ubuntu
Windows:win10 64位
虚拟机:VMware Workstation 12 Pro 12.1.0 build-3272444
Ubuntu:Ubuntu15.10
2.编译环境搭建
(1)权限设置
官方提示:
Warning Never ever fix permission problems by using 'sudo'. It will create more permission problems in the process and require a system reinstallation to fix them.
意思是你会遇到权限问题,不要用sudo解决,那样会带来更多问题,但是我没听他的,我没用,最后也是实现了
官方提供指令
[plain] view plain
然后注销,重新登录生效
(2)安装
更新包列表,安装下面编译PX4的依赖包。PX4主要支持的系列:
NuttX based hardware: Pixhawk, Pixfalcon
Snapdragon Flight hardware: Snapdragon
Raspberry Pi hardware: Raspberry Pi 2
Host simulation: jMAVSim SITL and Gazebo SITL
注意:安装Ninja Build System可以比make更快进行编译。如果安装了它就会自动选择使用它进行编译。
[plain] view plain
卸载模式管理器
[plain] view plain
更新包列表和安装下面的依赖包。务必安装指定的版本的包
[plain] view plain
上面代码中红色部分大家需要一高警惕,gcc-arm-none-eabi版本导致PX4/Firmware编译错误,现在apt-get安装的gcc-arm-none-eabi基本上是4.9的版本,但是这个固件需要gcc-arm-none-eabi 4.8de 版本,所以最后安装好以后,查看你的gcc-arm-none-eabi版本,如果是4.9需要手动安装4.8的版本,安装gcc-arm-none-eabi 4.8的版本的方法如下:
[plain] view plain
【Warning】上面红色的路径一定要添加正确,不然问题很多,我第一次就输入错误,结果结果开不了机了,反复输入密码。博主装的是Ubuntu 64位系统,而上述arm-none-eabi是直接下载的编译好的32位,还需要安装一个东西
[plain] view plain
可以检查arm-none-eabi 4.8.4是否安装成功,输入以下指令:
[plain] view plain
如果出现如上信息,交叉编译环境搭建就搭建成功了
(3)代码编译
根据PX4中文维基官网教程。
安装Git
[plain] view plain
下载代码
[plain] view plain
初始化
先进入Firmware文件夹,进而进行初始化、更新子模块操作,耐心的等待……
[plain] view plain
权限
编译时会遇到权限问题,执行指令
[plain] view plain
-R 是对文件下面包含的子文件权限问题,* 是对所有文件的权限问题
编译
[plain] view plain
注意到“make”是一个字符命令编译工具,“px4fmu-v2”是硬件版本,“default”是默认配置,所有的PX4编译目标遵循这个规则。
最后附一张编译成功的代码,如果这样你还有问题,请给我留言。
[plain] view plain
-- nuttx-px4fmu-v2-default
-- The ASM compiler identification is GNU
-- Found assembler: /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc
-- Found pythonInterp: /usr/bin/python (found version "2.7.10")
-- Using C++03
-- Release build type: RelWithDebInfo
-- Adding UAVCAN STM32 platform driver
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lihongwei/Documents/Firmware/build_px4fmu-v2_default
#+@Tools/check_submoles.sh
PX4 CONFIG: px4fmu-v2_default
Scanning dependencies of target git_mavlink
Scanning dependencies of target git_uavcan
Scanning dependencies of target git_gencpp
Scanning dependencies of target git_genmsg
[ 0%] Generating git_init_mavlink_include_mavlink_v1.0.stamp
[ 0%] Generating git_init_src_moles_uavcan_libuavcan.stamp
[ 0%] Generating git_init_Tools_genmsg.stamp
[ 0%] Generating git_init_Tools_gencpp.stamp
[ 0%] Built target git_uavcan
[ 0%] Built target git_mavlink
[ 0%] Built target git_genmsg
[ 0%] Built target git_gencpp
‘伍’ qt编译程序正在创建库怎么解决
在Qt编译程序时,如果编译过程卡在“正在创建库”阶段停止不动,可能有以下几种原因:
编译器版本不兼容。请确保您使用的编译器版本与Qt版本兼容。您可以查看Qt的官方文档来确定兼容的编译器版本。
编译器设置不正确。请确保您在Qt的项目设置中正确设置了编译器和链接器路径。您可以在Qt Creator中选择“项目”>“构建和运激迟行”>“构建设置”来查看和修改编译器设置。
缺少依赖项。在编译过程中,如果缺少必要的依赖项,可能会导致编译过程卡在“正在创建库”阶段。请确保您的系统中安装了所有必态森要的依赖项,并且这些依赖项的版本与您的Qt版本兼容。
项目文件有误。请确保您的Qt项目文件(.pro文件)正确设置了所有必要的库和依赖项。您可以在Qt Creator中打开项目文件,查看和修改项目设置。
编译过程被卡住了。有时候编译过程会因为各种原因卡住,导致编译过程无法继续。您可明闭李以尝试在终端中使用“Ctrl+C”来中止编译过程,并重新启动编译。
如果您仍然无法解决问题,请尝试在Qt Creator中查看编译输出,查找可能的错误信息。或者,您可以尝试使用其他编译器或重新安装Qt,并重新编译您的程序。
‘陆’ linux 下用arm体系QT编译问题(目前我系统里有X86 和 arm体系(老师编好的)的QT各一个)
貌似是缺少系统库,有些版本的linux编译qt是会出现缺少系统库而导致编译不成功的问题,不是很推荐用最新的编译器来编译,其实2.4的内核和3.4.5的编译器做qt就已经足够了,你可以去查查看那些版本的linux下可以成功的编译qt,安装的时候尽可能把开发用的库都选上,不然就只有自己再去打补丁,
仅作参考
‘柒’ OSX系统用QT编译cmakelist文件时出错 在这无限循环
Qt在编译时,需要首先使用uic.exe编译UI文件,通过moc.exe处理Q_OBJECT之类的宏,当然你可以去掉这些定义,否则就需要加上:#COMPILEUIsSET(UISmnwindow)FOREACH(ui_file${UIS})SET(TMP_IN"${PROJECT_SOURCE_DIR}/res/${ui_file}.ui")SET(TMP_OUT"${PROJECT_BINARY_DIR}/ui_${ui_file}.h")EXECUTE_PROCESS(COMMAND${QT_FOLDER}/bin/uic.exe-o${TMP_OUT}${TMP_IN})MESSAGE(STATUS"EXEC=${QT_FOLDER}/bin/uic.exe-o${PROJECT_BINARY_DIR}/ui_${ui_file}.h${PROJECT_SOURCE_DIR}/res/${ui_file}.ui")ENDFOREACH(ui_file)#CREATEMOCSET(HEADERSmainwindow)FOREACH(header_file${HEADERS})SET(TMP_IN"${PROJECT_SOURCE_DIR}/inc/${header_file}.h")SET(TMP_OUT"${PROJECT_BINARY_DIR}/moc_${header_file}.cpp")EXECUTE_PROCESS(COMMAND${QT_FOLDER}/bin/moc.exe-o${TMP_OUT}${TMP_IN})SET(MOCS${MOCS}${PROJECT_BINARY_DIR}/moc_${header_file}.cpp)MESSAGE(STATUS"EXEC=${QT_FOLDER}/bin/moc.exe-o${PROJECT_BINARY_DIR}/moc_${header_file}.cpp${PROJECT_SOURCE_DIR}/inc/${header_file}.h")ENDFOREACH(header_file)freec#.netqrcreator这里要注意的是:EXECUTE_PROCESS在COMMAND后面不能加引号,命令直接写,否则执行的程序也不会出错,但也不会正常运行.
‘捌’ Qt更换版本后的编译问题
在设置里重新指定 debuger 路径
‘玖’ QT编译的问题
qt的make要写好make的配置文件,可以自动生成配置文件的,建议你还是在windows下面用ide,生成那个文件,然后到linux下面编译,而且需要经常的make clean一下,否则也会出错
‘拾’ qt改了一个文件全部重新编译
1 需要重新编译
2 因为Qt的腔升编译过程是将源代码编译为目标代码,如果修改了一个文件,需要重新编译整伍派老个项目,否则会出现编译错误。
3 可以使用Qt的增量编译功能,只编译修改过的文件和依赖它的文件,从而缩短编译时羡陪间。
但是如果修改的文件涉及到了项目结构或者配置文件等,还是需要重新编译整个项目。