linkker生成LNK2001((尝试在vs2010中创建非托管c++ dll)

Linker generates LNK2001 (( try to make unmanaged c++ dll in vs 2010

本文关键字:c++ dll 创建 vs2010 LNK2001 生成 linkker      更新时间:2023-10-16
    Error   10  error LNK2001: unresolved external symbol "public: virtual void __thiscall MPPostProcess::prepareForProcess(void)" (?prepareForProcess@MPPostProcess@@UAEXXZ)   D:PrjMagicLibMagicLibdllmain.obj    MagicLib
Error   11  error LNK2001: unresolved external symbol "public: virtual void __thiscall MPPostProcess::prepareForProcess(void)" (?prepareForProcess@MPPostProcess@@UAEXXZ)   D:PrjMagicLibMagicLibMPImageData.obj    MagicLib
Error   12  error LNK2019: unresolved external symbol "private: virtual __thiscall PPBlackAndWhite::~PPBlackAndWhite(void)" (??1PPBlackAndWhite@@EAE@XZ) referenced in function "private: virtual void * __thiscall PPBlackAndWhite::`scalar deleting destructor'(unsigned int)" (??_GPPBlackAndWhite@@EAEPAXI@Z)   D:PrjMagicLibMagicLibdllmain.obj    MagicLib

如何治疗?

有两种可能的未解决的外部错误:

  1. 如果您定义了MPPostProcess类,那么您可能已经忘记为prepareForProcess(void)和~PPBlackAndWhite(void)函数提供实现。

  2. 如果MPPostProcess类是一个由外部库提供的类,那么你需要链接到提供这些函数的库

您可能还没有提供prepareForProcess()~PPBlackAndWhite()的定义。