编译QCAD_qt 编译
大家好,又见面了,我是你们的朋友全栈君。
编译QCAD
目前开源的二维CAD有QCAD、LibreCAD等,且LibreCAD可以说是QCAD的分支版本。对比这款开源软件,发现QCAD的功能与操作习惯和AutoCAD更接近。LibreCAD是纯C++开发,而QCAD使用了Qt的Script模块,使用了C++和Javascript脚本两种开发方式。我觉得使用脚本来扩展功能比纯C++开发效率会高点,因为这些开源项目源码都很大,编译比较花时间。如果使用脚本来开发的话,没有编译时间,可以边写脚本边测试,很方便。
下面两个分别是LibreCAD和QCAD中显示图形属性的界面,可以看到QCAD感觉更好。
Figure 1. LibreCAD Main GUI
Figure 2. QCAD Main GUI
QCAD的编译很简单,从 https://github.com/qcad/qcad 下载源码后,就可以直接编译了。其依赖的相关第三方库都已经包含在源码中。下面就以在Windows操作系统中使用VS2008来编译QCAD-3.20.1.2为例来说明其编译需要注意的问题。考虑到Qt4相关的dll文件较少,所以选择Qt4.8.6和Visual Studio2008来编译QCAD。
在VS中使用Qt可以使用QtVSAddin,安装好QtVSAddin后会在VS的菜单上出现一个Qt菜单:
Figure 3. QtVSAddin Menu in VS2008
从Qt插件的菜单中的Open Qt Project File来打开qcad源码文件中的qcad.pro,会生成qcad.sln的VS解决方案文件,并在VS2008打开了解决方案。
Figure 4. QCad source code in VS2008
编译到RScriptHandlerEcma.cpp文件时,遇到几个QPrinterInfo静态函数的问题,因为qcad-3.20.1.2中推荐使用Qt5.5.1,而这几个静态函数是从Qt5.3版本才引入的。所以找到Qt5.3中相关的源码,把关于QPrinterInfo的几个静态函数在这里重写。从字面上看这几个函数是与打印相关的,如果不使用打印相关功能,可以直接把这几个错误注释掉。
因为qcad与界面相关的功能都是用JavaScript脚本实现,所以还需要编译Qt的脚本实现。找到源码的src目录中的3rdparty文件夹中与Qt版本对应的qt-labs-qtscriptgenerator,里面会已经生成了VS的解决方案。直接用VS打开解决方案,全部编译即可。
Figure 5.编译qt script
编译成功后,文件都会生成在指定的目录中,直接打开源码下面的debug文件中的qcad.exe即可以运行QCAD了。
Figure 6. 运行编译的QCAD
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167789.html原文链接:https://javaforall.cn
相关文章
- qt lineedit_个人总结学生
- Ubuntu18.04下Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题解决方法
- centos7 qt之程序编译 cant start process “cmake”详解程序员
- Linux系统使用Qt开发快速入门教程(linux下qt教程)
- Qt编译、链接和运行参数的设置
- Linux安装Qt:实现轻松易用之旅(linux中安装qt)
- Linux下Qt编译技术探索(linuxqt编译)
- Linux 下 Qt 调试技巧(qt调试linux)
- Qt操作MYSQL:只需几步就能实现(qt操作mysql)
- Linux下Qt程序的轻松打包(linuxqt程序打包)
- Linux查看Qt版本:一个快速指南(linux查看qt版本)
- 开发linux下 Qt 图形界面开发实践(linux下qt图形界面)
- linux系统启动Qt图形界面简易指南(linux启动qt)
- 快速搭建Qt环境中的MySQL数据库(qt配置mysql数据库)
- QT如何访问MySQL数据库(qt访问mysql数据库)
- 使用QT连接MySQL数据库(qt数据库mysql)
- 如何在Linux上运行QT程序?(linux运行qt程序)
- Linux嵌入式应用Qt快速开发指南(linux嵌入式qt)
- Qt如何编译Oracle数据库驱动(qt编译oracle驱动)
- 从 Qt 中编译到 MySQL 的进程(qt mysql 编译)
- MySQL和QT不配套使用,无法实现事务处理(mysql不支持qt事务)