编译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

 

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

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

(0)
上一篇 2022年8月4日 下午7:16
下一篇 2022年8月4日 下午7:16


相关推荐

  • Android平板电脑2012年「建议收藏」

    Android平板电脑2012年「建议收藏」Android平板电脑2012年  Android平板2012年  对于所有的Andr​​oid平板爱好者来说,2012是挤满了许多惊喜。Android平板在2012年发射第一批将是科技巨头英特尔。英特尔公司的代表透露有关的Medfield的AtomAndroid平板的发布一些花絮由他们与谷歌和蜂窝协作。在Medfield的原型Android蜂窝目前正在与幻灯片展示。它的性能似乎出色的外观

    2022年6月1日
    33
  • SpringBoot ——MybatisPlus模糊查询、输出执行sql[通俗易懂]

    SpringBoot ——MybatisPlus模糊查询、输出执行sql[通俗易懂]SpringBoot ——MybatisPlus模糊查询、输出执行sql

    2022年4月23日
    385
  • Windows 64位下安装Redis 以及 可视化工具Redis Desktop Manager的安装和使用

    Windows 64位下安装Redis 以及 可视化工具Redis Desktop Manager的安装和使用Windows64 位下安装 Redis 一 Redis 介绍 Redis 是一个 key value 存储系统 和 Memcached 类似 它支持存储的 value 类型相对更多 包括 string 字符串 list 链表 set 集合 zset sortedset 有序集合 和 hash 哈希类型 这些数据类型都支持 push pop add remove 及取交集并集和差集及更丰富的操作 而

    2026年3月26日
    2
  • Java线程池七个参数详解

    本文参考:https://blog.it-follower.com/posts/1035400434.htmljava多线程开发时,常常用到线程池技术,这篇文章是对创建java线程池时的七个参数的详细解释。从源码中可以看出,线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadF…

    2022年4月4日
    75
  • 隶属度函数

    隶属度函数隶属度函数若对论域 研究的范围 U 中的任一元素 x 都有一个数 A x 0 1 与之对应 则称 A 为 U 上的模糊集 A x 称为 x 对 A 的隶属度 当 x 在 U 中变动时 A x 就是一个函数 称为 A 的隶属函数 隶属度 A x 越接近于 1 表示 x 属于 A 的程度越高 A x 越接近于 0 表示 x 属于 A 的程度越低 用取值于区间 0 1 的隶属函数 A x 表征 x 属于 A 的程度高低 隶属度属于模糊评价函数里的概念 模糊综合评价是对受多种因素影响的事物做出全面评价的一种十分有效的多因素决策方法 其特点是评价结果不是绝对地肯定或否定 而是以

    2026年3月26日
    3
  • typora图床阿里云_织梦七牛云

    typora图床阿里云_织梦七牛云一、创建并上传文件到存储空间1.注册七牛账号,并且实名认证2.创建储存空间打开侧边栏,选择对象存储选择新建空间存储空间名称:按规则随便取存储区域:选择离靠近的地区访问控制:选择公开,否则

    2022年8月16日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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