QCAD是一个开源的2维CAD项目。并且拥有Windows macOS以及linux跨平台的解决方案。该软件的通用交换格式是*.dxf文件,专业版的qcad也支持dwg格式文件。
下面通过这篇博客详细记录一下visual studio2019+qt5.15.2编译QCAD的过程,以及编译过程中遇到的一些麻烦和解决方案:
1.获取qcad源码
QCAD的源码可以通过Git获取:链接如下:https://github.com/qcad/qcad ,下载qcad-master即可。 完成下载后解压。
2.一些准备工作:
由于我们的编译平台是vs2019与qt5.15.2,因此需要提前安装有vs2019,并在vs上安装qt的插件qt vs tool。关于开发环境的配置在此不再赘述。
3. qt项目转换为vs项目
顾名思义,也就是.pro项目在vs中以.sln形式打开,并进行编译。在vs的扩展中打开qt vs tool,并选择Open Qt Project File(.pro)。
选择qcad解压文件中的qcad.pro,耐心等待完成,通常情况下,会出现一个错误。但不必慌张,这是由于项目转换过程中,名字被更改为qcadqcad.sln,将名称重命名为qcad.sln后双击打开即可。
4.开始编译
-
第一个坑
这里会有第一个坑,打开qcad.sln之后,发现资源管理器列表中,项目里出现了一个莫名其妙的东西:qcadcmd.com,直接进行一个移除,最终解决方案中共有18个项目 ,然后就开始编译吧。
-
第二个坑
当我们开始编译的时候,通常会遇到如下问题:一些项目操作失败,如下图所示,此时我们需要进行简单的修改,对这18个项目分别进行:convert custom build steps to Qt/MSBuild
花点时间完场上述操作之后,重新进行编译。
-
第三个坑
经过一段时间的等待之后,通常情况下会出现如下报错:找到一个或多个重定义符号,报错的项目是qcadscripts。
这时我们右键该项目,打开"属性---链接器--命令行"增加代码:/FORCE:MULTIPLE ,之后点击生成,生成解决方案,完成编译
5.启动qcad
此时我们已经完成了qcad的编译,移除其他项目,仅保留qcad,调试运行发现并没有任何反应。这是由于我们还遗忘了编译界面文件。
打开D:\qcad\qcad\src\3rdparty\qt-labs-qtscriptgenerator-5.15.2文件夹,并将其中的qcadqt-labs-qtscriptgenerator-5.sln,改名为qt-labs-qtscriptgenerator-5.sln,并打开。直接进行编译,耐心等待完成
完成编译后,在再次打开之前的qcad.sln 调试运行即可:
至此完成了QCAD的编译。