Visual Studio 2008 C ++中的LNK2028和LNK2019错误

时间:2013-09-30 10:33:34

标签: visual-studio visual-c++ linker linker-errors

我已经做了很多研究来解决我在Visual Studio 2008中收到的链接器错误。代码在VS2010中运行良好,但我也需要它在VS2008中工作。

链接器在构建项目时给出了以下输出:

error LNK2028: unresolved token (0A000459) "void __cdecl __ExceptionPtrCopy(void *,void const *)" (?__ExceptionPtrCopy@@$$FYAXPAXPBX@Z) referenced in function "public: __thiscall std::_Exception_ptr::_Exception_ptr(class std::_Exception_ptr const &)" (??0_Exception_ptr@std@@$$FQAE@ABV01@@Z) 

error LNK2019: unresolved external symbol "void __cdecl __ExceptionPtrCopy(void *,void const *)" (?__ExceptionPtrCopy@@$$FYAXPAXPBX@Z) referenced in function "public: __thiscall std::_Exception_ptr::_Exception_ptr(class std::_Exception_ptr const &)" (??0_Exception_ptr@std@@$$FQAE@ABV01@@Z)  

error LNK1120: 2 unresolved externals   

我认为当我想从c ++到c ++ / cli进行通信时会发生错误。我有一个托管类,它包含对托管对象的引用。

ManagedWrapper.h:

class ManagedObjectWrapperPrivate
{
public:
msclr::auto_gcroot<ManagedObject^> obj;
}
public class ManagedWrapper
{
...
private:
ManagedObjectWrapperPrivate *objWrapper;
}

然后在构造函数中初始化对象和对象包装器。但是,对于本机c ++代码不能看到托管对象,我重新声明(在NativeWrapper.h中)如下:

class ManagedObjectWrapperPrivate;

因此,本机类不会知道ManagedObjectWrapperPrivate持有的托管对象。

这在VS 2010中运行良好,但似乎在VS2008中不起作用

如果需要,我很乐意提供更多信息。

0 个答案:

没有答案