将 DLL 与应用程序链接时出现未知错误
Unknown error in when linking DLL with an application
在此链接中,我逐步介绍了如何在Visual Studio解决方案中包含dll项目当我进行测试以检查 dll 函数是否与应用程序很好地链接时,它会识别它。但?我现在有一个错误,如下所示:
PS:init_test()是一个Dll函数APP是应用程序,在其功能之一(图像(无效))中,我包括DLL:init_test()
Error 4 error LNK2019: unresolved external symbol "public: static void __cdecl DLL::init_test(unsigned long)" (?init_test@DLL@@SAXK@Z) referenced in function "public: void __thiscall APP::image(void)" (?image@APP@@QAEXXZ) C:UsersxxxappsAPPAPP.obj
Error 5 error LNK1120: 1 unresolved externals C:UsersxxxAPP.exe
让我试着代表我所做的:
#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();
};
自
class DLL_API DLL
{
public:
static void image_test();
};
这样image_test()将被导出,除了你的DLL之外,你还将获得一个导入库。这应该有助于解决您关于同一主题的其他一些问题。
还要记住,要使其正常工作DLL_EXPORTS必须仅在您的.dll中定义,因此请C++将其添加到所有配置(调试、发布、RelWithDebInfo ...
相关文章:
- 双链表的擦除值函数,未知错误
- 未知C++错误:致命错误:glibc检测到无效的stdio句柄
- 带有unique_ptr的通用单链表,MS visual studio C++中存在未知错误
- 在最坏的情况下试验快速排序.它运行良好,但在最坏的情况下发生未知错误.我想
- C++ [] 重载未知错误
- 打电话时返回未知错误
- C 包括文件会导致未知错误
- Qtcpserver 仅在调试器下在侦听函数上返回未知错误
- std::p romise<void> 抛出未知错误,除非调用睡眠
- 如何在将我的 QT 应用程序交叉编译为 raspberry-pi3 时修复未知错误
- 使用reinterpret_cast的未知错误
- 如何修复QFile打开错误(未知错误),即使文件存在
- 使用c++特征库时出现未知错误
- 使用特征库的 mingw 出现未知错误
- CUDA 未知错误后 cuBLAS 调用
- 未知错误,调试器只给我一个内存地址
- 在子类之外实现函数导致未知错误
- 影响格雷厄姆查找凸包算法的未知错误
- 未知错误(-1000)执行cl_command_ndrange_kernel
- QT NetworkAccessManager未知错误