我目前在我的程序中使用三角形库。该库仅包含 .c 和 .h 文件(没有 .lib)。我在 Visual Studio C++ 2010 上收到以下错误:
1>data.obj : error LNK2019: unresolved external symbol _triangulate referenced in function "struct triangulateio __cdecl readfile(void)" (?readfile@@YA?AUtriangulateio@@XZ)
我的 data.cpp 的头文件如下:
#ifndef DATA_H
#define DATA_H
#include <WinSock2.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <string>
#include <time.h>
#include <GL/gl.h> //include the gl header file
#include <GL/glut.h> //include the glut header file
#include <GL/glu.h> //include the glut header file
#include <armadillo>
//Namespace
using namespace std;
using namespace arma;
extern "C"
{
#ifdef SINGLE
#define REAL float
#else /* not SINGLE */
#define REAL double
#endif /* not SINGLE */
#include "triangle.h"
}
triangulateio readfile();
#endif
数据.cpp
triangulate("pczAevn", &in, &mid, &vorout);
我已经让我的程序在 Ubuntu 上使用我的 Makefile,但我需要在 Windows 上运行我的程序。随时询问更多信息。
编辑#1:
如果你在 VS 中使用三角形库,你必须将以下指令放在 triangle.c 文件的顶部#define TRILIBRARY
现在它编译。非常感谢你的帮助。