在.hpp中声明并在.cpp中定义的代码在调用dll时会出错

时间:2013-01-15 19:44:39

标签: c++ visual-studio-2010 dll

  

可能重复:
  Using C# COM in unmanaged C++ project -> First-chance exception at 0x7697C41F (KernelBase.dll)

我有一个从Visual Studio 2005升级到Visual Studio 2010(Project1)并输出dll的项目。它是带有clr的c ++(它与c#项目接口)。

我正在使用来自另一个VS2010项目(项目2)的dll(两者都具有相同的c ++目标,包括调试和Win 32)。

在project2中,dll接口使用静态使用的类。 这是问题发生的地方。截至目前,如果我执行.h中声明的函数,但在cpp中定义,我会收到错误。如果在.h中声明和定义函数,则没有问题。 Error from trying to access function defined in cpp

这在升级到VS 2010之前有效。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用__declspec(dllexport)检查 中的函数是否已正确导出(意味着“存储”在二进制文件中)。

答案 1 :(得分:0)

Hans Passant提供的关于类似错误代码的链接,似乎此错误是一个未记录的异常,它发生在.Net 4.0 clr启动时在调试模式下使用的IPC协议中,可以忽略

Link to answer on msdn