编译QCAD_qt 编译

编译QCAD_qt 编译开源二维CAD程序QCAD的编译说明。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

编译QCAD

eryar@163.com

目前开源的二维CAD有QCAD、LibreCAD等,且LibreCAD可以说是QCAD的分支版本。对比这款开源软件,发现QCAD的功能与操作习惯和AutoCAD更接近。LibreCAD是纯C++开发,而QCAD使用了Qt的Script模块,使用了C++和Javascript脚本两种开发方式。我觉得使用脚本来扩展功能比纯C++开发效率会高点,因为这些开源项目源码都很大,编译比较花时间。如果使用脚本来开发的话,没有编译时间,可以边写脚本边测试,很方便。

下面两个分别是LibreCAD和QCAD中显示图形属性的界面,可以看到QCAD感觉更好。

wps_clip_image-25075

Figure 1. LibreCAD Main GUI

wps_clip_image-10281

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菜单:

wps_clip_image-3384

Figure 3. QtVSAddin Menu in VS2008

从Qt插件的菜单中的Open Qt Project File来打开qcad源码文件中的qcad.pro,会生成qcad.sln的VS解决方案文件,并在VS2008打开了解决方案。

wps_clip_image-7778

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打开解决方案,全部编译即可。

wps_clip_image-13200

wps_clip_image-15602

wps_clip_image-7482

 Figure 5.编译qt script

编译成功后,文件都会生成在指定的目录中,直接打开源码下面的debug文件中的qcad.exe即可以运行QCAD了。

wps_clip_image-16781

Figure 6. 运行编译的QCAD

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167789.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号