標籤:style class blog code http tar
最近需要用到三角網格產生的一些東西,所以就把TRIANGLE這個庫編譯了一下,發現編譯過程還是稍微有些糾結,於是就想到寫下來,希望以後有些童鞋看到少走一些彎路。
首先非常感謝eryar的協助,非常感謝!
在編譯之前還是先看一下eryar的博文:
http://www.cnblogs.com/opencascade/p/3632705.html
我是在visual studio 2010 windows環境下面編譯的。
剛開始磕磕絆絆的也編譯完了,但是在c++下面是不能使用的,所以求助eryar才最後成功:
直接上代碼吧,triangle標頭檔更改如下:
#ifndef _TRIANGLE_HEADER_#define _TRIANGLE_HEADER_
#ifdef _cplusplusextern "C"{#endif///更改這裡,部落格加粗改顏色之後成代碼了,不知為什麼#define REAL double#define ANSI_DECLARATORS#define VOID int#include "triangle.h"struct triangulateio { REAL *pointlist; /* In / out */ REAL *pointattributelist; /* In / out */ int *pointmarkerlist; /* In / out */ int numberofpoints; /* In / out */ int numberofpointattributes; /* In / out */ int *trianglelist; /* In / out */ REAL *triangleattributelist; /* In / out */ REAL *trianglearealist; /* In only */ int *neighborlist; /* Out only */ int numberoftriangles; /* In / out */ int numberofcorners; /* In / out */ int numberoftriangleattributes; /* In / out */ int *segmentlist; /* In / out */ int *segmentmarkerlist; /* In / out */ int numberofsegments; /* In / out */ REAL *holelist; /* In / pointer to array copied out */ int numberofholes; /* In / copied out */ REAL *regionlist; /* In / pointer to array copied out */ int numberofregions; /* In / copied out */ int *edgelist; /* Out only */ int *edgemarkerlist; /* Not used with Voronoi diagram; out only */ REAL *normlist; /* Used only with Voronoi diagram; out only */ int numberofedges; /* Out only */};#ifdef ANSI_DECLARATORSvoid triangulate(char *, struct triangulateio *, struct triangulateio *,struct triangulateio *);void trifree(VOID *memptr);#else /* not ANSI_DECLARATORS */void triangulate();void trifree();#endif /* not ANSI_DECLARATORS */#ifdef _cplusplus}#endif///更改這裡,部落格加粗改顏色之後成代碼了,不知為什麼
#endif
同時在triangle.c裡面修改:
將:
/* #define NO_TIMER */
/* #define TRILIBRARY*/
改為:
#define NO_TIMER
#define TRILIBRARY
也就是將這兩個宏定義開啟就OK了。
成功產生lib庫