codeblocks环境下配置与编译potracelib

一、环境

win10
codeblocks
potrace-1.15源码

二、配置potracelib库

利用potrace的源码,梳理potrace算法核心代码的依赖关系,下图是src文件夹中的所有文件。
codeblocks环境下配置与编译potracelib_第1张图片

在实际使用中,用不了那么多来编译potracelib,下面经过potracelib.c这一个头文件可以梳理potrace算法的核心代码的头文件之间的依赖关系,可以画出下图。

codeblocks环境下配置与编译potracelib_第2张图片

根据上图可以得到我们所需的文件为

源文件 :curve.c,decompose.c,potracelib.c,trace.c
头文件:auxiliary.h,bitmap.h,curve.h,decompose.h,lists.h,potracelib.h,progress.h,trace.h

三、编译potracelib静态库

静态链接库是一种封装了函数实现和一些索引信息的库文件。

我的目的是使用codeblocks建立potracelib的静态链接库。

先通过File–>New–>Project–>选择Static library–>go建立一个静态库工程。
codeblocks环境下配置与编译potracelib_第3张图片

然后将上述挑出来的所有代码文件加入到刚刚建立的potracelib静态工程中,把默认的main.c文件删除。
如果此时直接bulid的话,会发现他报错

error:not define POTRACE, not define VERSION。

分析原因,发现几乎所有的头文件和源文件中都包括两个宏定义:POTRACE和VERSION。

所以再选择项目名potracelib,右键–>Build options–>#define,在这里增加两个全局宏定义 POTRACE=“potrace”,VERSION=“1.15”,最后build。
codeblocks环境下配置与编译potracelib_第4张图片

这时有另一个错误出现
error: unknown type name 'uint64_t'|

经查询,是缺少c语言中的某个头文件的原因,在decompose.c文件中加入

   #include 

解决此错误。

编译成功后会在静态工程目录下的bin\Debug目录下找到编译好的静态链接库。

codeblocks环境下配置与编译potracelib_第5张图片

你可能感兴趣的:(毕业设计)