linux g++编译dxf文件C++解析库dxflib

DXFLIB是一个用于读取和写入AutoCAD(R)DXF文件的开源C++库。它提供读取和写入许多基本实体的功能,以及有关层和块的信息。来自QCAD的作者。
官方定义:https://www.ribbonsoft.com/en/what-is-dxflib
最新版本下载地址:https://www.ribbonsoft.com/en/dxflib-downloads
旧版本下载:https://sourceforge.net/projects/dxflib/   https://github.com/clothbot/dxflib
使用手册:http://www.ribbonsoft.com/dxflib/manual.pdf
中文翻译:https://www.xuebuyuan.com/2019623.html
我们下载当前版本:3.17.0

下载解压:

 其中,提供了qt creator项目文件,方便使用qt进行构建。src中存放源码,examples中包含三个例子。

 

在linux发行版中,如果安装了qt,可直接打开dxflib.pro进行构建,如果没有,则使用g++命令行来进行构建。
使用g++编译dxflib

1 cd ./src
2 ls -l
3 g++ -c dl_dxf.cpp -o dl_dxf.o
4 g++ -c dl_writer_ascii.cpp -o dl_writer_ascii.o
5 ar -rsc dxflib.a dl_dxf.o dl_writer_ascii.o
6 ls -l


至此,静态库dxflib.a编译成功!
使用dxflib.a
readwrite例子中直接将dxflib的源码包含进去了,可以不用链接dxflib.a直接编译,当然也可以链接。

cd ../examples
ls 
cd ./readwrite
ls
g++ *.cpp ../../src/dxflib.a -o readwrite -I ../../src/
ls
./readwrite demo.dxf

同样的另外两个写dxf文件的例子

cd ../writedimension
ls
g++ *.cpp ../../src/dxflib.a -o writedimension -I ../../src/
ls
./writedimension

在当前目录下写生成dimension.dxf文件,如果文件存在,则覆盖重写。

类似地,在当前目录下写生成hatch.dxf文件,如果文件存在,则覆盖重写。 

QCAD是一个免费的开源应用程序,基于dxflib库,用于二维(2D)的计算机辅助制图(CAD),可以算是AutoCAD软件的一个替代品。

dxflib库examples中用到的dxf文件,用QCAD软件打开:



posted on 2020-02-17 15:22  我来乔23  阅读(2085)  评论(0编辑  收藏  举报

导航