C++ 将DLL链接到应用程序时出现未知错误

C++ 将DLL链接到应用程序时出现未知错误,c++,visual-studio-2010,opencv,dll,C++,Visual Studio 2010,Opencv,Dll,我循序渐进地介绍了如何在本文中的VisualStudio解决方案中包含dll项目 当我测试dll函数是否与应用程序链接良好时,它会识别它。但是我现在有一个错误,如下所示: PS:init_test()是一个Dll函数 APP就是应用程序,在它的一个函数(image(void))中,我包含了DLL:init_test() 让我试着代表我所做的: #ifdef DLL_EXPORTS #define DLL_API __declspec(dllexport) #else #define DLL_A

我循序渐进地介绍了如何在本文中的VisualStudio解决方案中包含dll项目 当我测试dll函数是否与应用程序链接良好时,它会识别它。但是我现在有一个错误,如下所示:

PS:init_test()是一个Dll函数 APP就是应用程序,在它的一个函数(image(void))中,我包含了DLL:init_test()

让我试着代表我所做的:

#ifdef DLL_EXPORTS
#define DLL_API __declspec(dllexport) 
#else
#define DLL_API __declspec(dllimport) 
#endif

class DLL
{
public:
static void image_test();
};


void APP:image()
{
....
....
DLL::image_test();
}
改变

class DLL
{
public:
static void image_test();
};

这样,图像_test()将被导出,您将在dll之外获得一个导入库。这将有助于解决您在同一主题上的其他一些问题

还请记住,要使其起作用,DLL_导出必须在.DLL中定义,以便在所有配置(调试、发布、RelWithDebInfo…)中将其添加到DLL的C/C++/预处理器/预处理器定义中

class DLL
{
public:
static void image_test();
};

这样,图像_test()将被导出,您将在dll之外获得一个导入库。这将有助于解决您在同一主题上的其他一些问题


还请记住,要使其起作用,DLL_导出必须在.DLL中定义,因此在所有配置(调试、发布、RelWithDebInfo…)中将其添加到DLL的C/C++/预处理器/预处理器定义中。您需要为某些人提供更多信息,以便为您找到问题,即显示您到底做了什么。这个错误仍然只是意味着main无法在link中找到函数的定义time@fayyazkl请看我的编辑。现在应该更清楚了。我本来打算写一篇关于如何做到这一点的毫无意义的评论,但是取而代之的是。@WhozCraig链接我已经处理过了!你需要为某人提供更多信息,以便为你发现问题,即显示你到底做了什么。这个错误仍然只是意味着main无法在link中找到函数的定义time@fayyazkl请看我的编辑。现在应该更清楚了。我本来打算写一篇关于如何做到这一点的毫无意义的评论,但是取而代之的是。@WhozCraig链接我已经处理过了!
class DLL_API  DLL
{
public:
static void image_test();
};