(为清楚起见重写)
我有一个多项目解决方案,我希望将其从使用 .lib 文件转换为 .DLL 文件。我已经创建了我的 __declspec 宏并将其应用于每个类,但项目中创建最终 .exe 的那些除外。然而,链接器几乎适用于所有内容。我已设置为忽略有关导出模板化对象的错误。
一个例子是这样的:
error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall Rail::SetNextRail(class Rail *)" (__imp_?SetNextRail@Rail@@QAEXPAV1@@Z) referenced in function "public: static void __cdecl MyUtilities::CreateBezierRails(int,class MyVector *,class std::vector > &)" (?CreateBezierRails@MyUtilities@@SAXHPAVMyVector@@AAV?$vector@PAVRail@@V?$allocator@PAVRail@@@std@@@std@@@Z) MyUtilities.obj
我的 __declspec(dllimport) 上未解析的外部符号?这似乎不对。它由一个宏放置,例如:
#ifdef MYAI_EXPORT
#define DECLSPECAI __declspec(dllexport)
#else
#define DECLSPECAI __declspec(dllimport)
#endif
基本上,是什么给了?为什么会出现这些错误以及如何修复它们?感谢迄今为止所有尝试提供帮助的人,但我仍然坚持这一点。
最佳答案
您是否链接到 MyRenderer.lib?
关于c++ - 将应用程序转换为使用 DLL 时的 LNK2019,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1566895/