我目前在我的程序中使用triangle library。该库仅包含.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
Data.cpp
triangulate("pczAevn", &in, &mid, &vorout);
我已经在Ubuntu上使用我的Makefile编写了我的程序,但是我需要在windows上运行我的程序。 请随时询问更多信息。
编辑#1:
如果将三角形库与VS一起使用,则必须将以下指令放在triangle.c文件#define TRILIBRARY
之上。
现在它编译。非常感谢您的帮助。
答案 0 :(得分:0)
链接器找不到“triangulateio readfile()”的定义,如果它在.c文件中定义,我的猜测是它没有构建。如果将它包含在项目中,它可以工作。