C++ &引用;未解析的外部符号“U三角化”;使用三角形库时
我目前正在我的程序中使用。该库仅包含.c和.h文件(无.lib)。我在VisualStudioC++ 2010中得到以下错误:C++ &引用;未解析的外部符号“U三角化”;使用三角形库时,c++,visual-studio-2010,linker,lnk2019,C++,Visual Studio 2010,Linker,Lnk2019,我目前正在我的程序中使用。该库仅包含.c和.h文件(无.lib)。我在VisualStudioC++ 2010中得到以下错误: 1>data.obj : error LNK2019: unresolved external symbol _triangulate referenced in function "struct triangulateio __cdecl readfile(void)" (?readfile@@YA?AUtriangulateio@@XZ) my da
1>data.obj : error LNK2019: unresolved external symbol _triangulate referenced in function "struct triangulateio __cdecl readfile(void)" (?readfile@@YA?AUtriangulateio@@XZ)
my 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
我已经在Ubuntu上使用我的Makefile使我的程序工作,但我需要在windows上运行我的程序。
请随时询问更多信息
编辑#1:
如果将三角形库与VS一起使用,则必须在triangle.c文件#define TRILIBRARY
现在它可以编译了。非常感谢您的帮助。链接器找不到“triangulateio readfile()”的定义,如果它是在.c文件中定义的,我猜它不是构建的。如果您将其包含在项目中,它可能会工作。链接器找不到“triangulateio readfile()”的定义,如果它是在.c文件中定义的,我猜它不是构建的。如果将其包含在项目中,则可以使用。是否已将.lib文件添加到visual studio项目的链接器设置中?没有lib;它只是一个.c和一个.h文件。“readfile”是什么?那是你的密码吗?您可能需要显示in、mid和vorout的声明。我是否可以建议使用mingw在Windows上编译?您的makefile可能按原样工作。否则,您是否尝试过将读取文件的声明放在外部“C”中,然后进行编译?readfile是我创建的函数,它不是库的一部分。将readfile放入extern C中不起作用<代码>结构三角形输入、中间、输出、输出代码>我很想在windows上编译它,但由于与其他程序的兼容性问题,我需要使用VS。此外,我必须为我的项目(硬件)使用一些.dll。是否已将.lib文件添加到visual studio项目的链接器设置中?没有lib;它只是一个.c和一个.h文件。“readfile”是什么?那是你的密码吗?您可能需要显示in、mid和vorout的声明。我是否可以建议使用mingw在Windows上编译?您的makefile可能按原样工作。否则,您是否尝试过将读取文件的声明放在外部“C”中,然后进行编译?readfile是我创建的函数,它不是库的一部分。将readfile放入extern C中不起作用<代码>结构三角形输入、中间、输出、输出代码>我很想在windows上编译它,但由于与其他程序的兼容性问题,我需要使用VS。此外,我必须为我的项目(硬件)使用一些.dll。
triangulate("pczAevn", &in, &mid, &vorout);