造成这个问题的原因——很有可能是导出方式不对!
情况一: C++ dll,供C++可执行程序调用
#ifdef GEOSUTIL_EXPORTS#define MICAPSURPORT_API __declspec(dllexport)#else#define MICAPSURPORT_API __declspec(dllimport)#endif
情况二: C语言的dll,供C++可执行程序调用
// MyCFuncs.h#ifdef __cplusplusextern "C" { // only need to export C interface if // used by C++ source code#endif__declspec( dllimport ) void MyCFunc();__declspec( dllimport ) void AnotherCFunc();#ifdef __cplusplus}#endif如果需要将 C 函数链接到 C++ 可执行文件,并且函数声明头文件没有使用上面的技术,则在 C++ 源文件中添加下列内容以防止编译器修饰 C 函数名:extern "C" {#include "MyCHeader.h"}
此外还有其他一些相对复杂的情况,详见