現在、プログラムでトライアングルライブラリを使用しています。ライブラリには、.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ライブラリを使用する場合は、triangle.cファイルの上に次の命令を配置する必要があり#define TRILIBRARY
ます。これでコンパイルされます。助けてくれてありがとう。