加急!!C++调用第三方dll的问题!!!
现在要自己用C++写一个dll文件给C#写的程序调用,这个dll文件中要调用第三方的dll文件我在写C++dll文件是碰到了问题,调试时总是报错:
错误 1 error LNK2019: 无法解析的外部符号 "public: virtual __thiscall vhtTransform3D::~vhtTransform3D(void)" (??1vhtTransform3D@@UAE@XZ),该符号在函数 __catch$_add$0 中被引用
最开始写的代码是:
#if defined( _WIN32 )
#define _WIN32_WINNT 0x0400
#include <fstream>
#include <iostream>
using std::cout;
#else
#include <unistd.h>
#include <iostream.h>
#endif
#include <vhandtk/vhtBase.h>
#include<stdio.h>
#include<stdlib.h>
extern "C" __declspec(dllexport) int add()
{
vhtIOConn *gloveDict;
vhtCyberGlove *glove;
gloveDict = vhtIOConn::getDefault( vhtIOConn::glove );
glove = new vhtCyberGlove(gloveDict);
return 0;
}
这样报错;我注释掉两句后编译通过
extern "C" __declspec(dllexport) int add()
{
vhtIOConn *gloveDict;
vhtCyberGlove *glove;
//gloveDict = vhtIOConn::getDefault( vhtIOConn::glove );
//glove = new vhtCyberGlove(gloveDict);
return 0;
}
这样可以编译通过。求解原因解决办法?????