当前位置: 首页 > 知识库问答 >
问题:

未解析的外部符号vfc表

南宫天逸
2023-03-14

我在我的MFC vtk项目中使用Visual Studio 2008。我收到一个链接错误,如下所示:

vtkPBFEAView。obj:警告LNK4217:本地定义的符号?DrawDC@vtkMFCWindow@@QAEXPAVCDC@@@Z(public:void _thiscall vtkMFCWindow::DrawDC(类CDC*))在函数“protected:virtual void _thiscall CvtkPBFEAView::OnDraw(类CDC*)”中导入(?OnDraw@CvtkPBFEAView@@MAEXPAVCDC@@@Z)

1.

1.

1.

1.

谁能解释一下这个错误的原因吗?

提前谢谢。

共有2个答案

郑帅
2023-03-14

对于可能找到此解决方案并对其DLL函数不再导出以供客户端应用程序使用感到不安的任何人:

MSVC的DLL模板提供了以下示例:

#ifdef DLLNAME_EXPORTS
  #define DLLNAME_API __declspec(dllexport)
#else
  #define DLLNAME_API __declspec(dllimport)
#endif

如果您忘记在项目设置中定义DLLNAME_EXPORTS,您将收到此消息。如果您重命名这些#定义,这可能会发生

翟京
2023-03-14

最后我找到了问题的答案。vtkMFCWindow配置了 /MD选项,我的主项目配置了 /MTd选项。因此我得到了错误。一旦我删除了__declspec(dllexport)行,它就运行良好。谢谢你的帮助。

 类似资料:
  • 首先,我知道这个问题在这个网站上到处都是,但是我看了几乎所有的问题,似乎找不到问题所在。这是在VS 2012中。谢谢。 这是插座。cpp公司 这是stdafx。h类 这是我的错误消息:

  • 我有一个cpp文件,其中包括: 当尝试运行AcquireCredentialsHandleW时,我得到.. MSDN说它在sspi.h中。

  • 如果在中发现未解析的外部符号,我必须做什么。库文件。如果我在中发现未解析的外部符号。c或。cpp我能修好它。但当我在里面发现了未解决的外部符号。lib(library)文件如何解决这个问题? 在我的例子中,我发现了如下链接器错误: 关于这一点的任何建议都将是有益的。

  • 我正在用c和visual studio进行我的第一次测试,我不知道为什么,当程序中没有出现“未解决的外部符号”时,我会遇到一个问题。 错误97错误LNK2001:未解析的外部符号"public:静态类会话*__cdecl会话::实例(无效)"(?Instance@Session@@SAPAV1@XZ)(...)\MyTest\Messages.objMyTest 错误98错误LNK2001:未解析

  • 我想写一个调用Java方法的C程序。 我试图从C调用Java函数。如本文所述 http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/invocation.html 但我在调试时遇到这个错误,无法处理它。我正在使用Visual studio 2012。这是我的代码C代码。 安装在my comp版本上的Java是C:\Users\

  • 我得到了这个错误,但我不知道如何修复它。 我正在使用Visual Studio 2013。我将解决方案命名为MyProjectTest这是我的测试解决方案的结构: -功能。H -功能。cpp -main.cpp 我是初学者;这是一个简单的程序,运行时没有错误。我在互联网上阅读并对单元测试感兴趣,因此我创建了一个测试项目: 菜单文件→新建→项目...→已安装→模板→Visual C→测试→本地单元测