书接上回,这里主要介绍libredwg库的调用,具体安装教程参考:windows10 CAD解析库libredwg安装记录。众所周知,我们已经生成静态库libredwg.a。但是在windows中无法被vs调用,那用什么调用呢?这里我们采用QT来编写c程序进行调用。QT是一个跨平台的语言,而我们编译的libredwg库是使用GUN编译的,所以只能在linux上进行调用,此时可以使用QT来解决这个跨平台问题。

Windows10上QT的安装教程:win10下,安装Qt5.9.7(一)


目录

一、配置Cygwin编译器

二、创建Cygwin编译器的c工程

三、配置libredwg库


一、配置Cygwin编译器

我们知道,我们是使用Cygwin中的工具进行编译得到的libredwg库,如果采用其他库的话可能会造成程序编译执行失败。而QT中默认的编译器主要有:MSVCMinGW

 所以我们需要添加相应的Cygwin编辑器。具体流程如下:选择“工具->选项->Kits”中进行设置

(1)点击“添加”,设置Cygwin编辑器

(2)对编译器命名和配置c/c++的编译器路径,其他可以自己选择或默认设置

(3)最终我们可以看到一个Cygwin的编译器

二、创建Cygwin编译器的c工程

(1)创建纯c的工程

(2)设置工程名及路径(可以直接下一步)

(3)选择编译的系统(默认就行)

(4)选择Cygwin编译器,并下一步,剩下的默认就ok了

(5)最终的结果如下

三、配置libredwg库

(1)将安装好的libredwg库的头文件和lib文件复制到当前工程目录下

include头文件:C:\cygwin64\usr\local\include

lib库文件:C:\cygwin64\usr\local\lib

(2)配置QT静态库

INCLUDEPATH += D:\你的工程路径\include
LIBS += \
    D:\你的工程路径\lib\libredwg.a \
    D:\你的工程路径\lib\libredwg.dll.a

这样,你就可以来调用libredwg库的源代码了。这里贴一下我的测试结果。

源代码:

#include <stdio.h>
#include"dwg.h"
#include"dwg_api.h"

int load_dwg (char *filename, unsigned int opts)
{
    BITCODE_BL i;
    int success;
    Dwg_Data dwg;

    memset (&dwg, 0, sizeof (Dwg_Data));
    dwg.opts = opts;
    success = dwg_read_file (filename, &dwg);
    printf("%d\n",success);

    printf("%d\n",dwg.num_objects);

    return 0;
}

int main()
{
    char *filename="D:\\QtProjects\\readDWG4\\1.dwg";
    load_dwg(filename,1);

    printf("Hello World!\n");
    return 0;
}

测试结果:

哈哈哈,是不是很激动,可以操作CAD中的数据了。。。下一篇我们将继续将如何提取CAD中的数据信息 ,敬请期待中吧

GitHub 加速计划 / li / libredwg
5
0
下载
Official mirror of libredwg. With CI hooks and nightly releases. PR's ok
最近提交(Master分支:2 个月前 )
fe8ac834 - 4 个月前
6f1d6ee4 There is situation after clone from git repository. .tarball-version doesn't exists in this time. 4 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐