2014-10-08 42 views
0

我有这个旧项目现在分配给我照顾。它包含2个dll-s和一个在.net 2003 C++上编写的ocx,它们可以在彼此之间进行通信,并可以与更大的应用程序进行通信。我需要对它们进行更改,但是当我尝试构建ocx时,我得到了8个LNK2019未解决的外部错误,我不知道如何解决。其中一个dll-s在构建整个解决方案时也会出现这些LNK2019错误,但它仍会生成.dll。据我所知,自从上一次成功建造它们以来,项目并没有发生变化。我不认为代码或项目设置有任何问题。我使用的Oracle虚拟机与Windows XP能够运行.NET 2003旧的.net项目中无法解析的外部项目

的错误输出:

mfcs42.lib(dllmodul.obj) : error LNK2019: unresolved external symbol "public: __thiscall AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(struct HWND__ *,unsigned int,unsigned int,long),unsigned long)" ([email protected]@[email protected][email protected]@[email protected]@Z) referenced in function "public: __thiscall _AFX_DLL_MODULE_STATE::_AFX_DLL_MODULE_STATE(void)" ([email protected]@[email protected]) 
mfcs42.lib(dllmodul.obj) : error LNK2019: unresolved external symbol "public: __thiscall AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(class AFX_MODULE_STATE *)" ([email protected]@[email protected][email protected]@@Z) referenced in function "long __stdcall AfxWndProcDllStatic(struct HWND__ *,unsigned int,unsigned int,long)" ([email protected]@[email protected]@[email protected]) 
mfcs42.lib(oleexp.obj) : error LNK2001: unresolved external symbol "public: __thiscall AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(class AFX_MODULE_STATE *)" ([email protected]@[email protected][email protected]@@Z) 
mfcs42.lib(dllmodul.obj) : error LNK2019: unresolved external symbol "void __stdcall AfxTermExtensionModule(struct AFX_EXTENSION_MODULE &,int)" ([email protected]@[email protected]@[email protected]) referenced in function [email protected] 
mfcs42.lib(dllmodul.obj) : error LNK2019: unresolved external symbol "class AFX_MODULE_STATE * __stdcall AfxSetModuleState(class AFX_MODULE_STATE *)" ([email protected]@[email protected]@[email protected]@Z) referenced in function [email protected] 
mfcs42.lib(dllmodul.obj) : error LNK2019: unresolved external symbol "public: __thiscall CDynLinkLibrary::CDynLinkLibrary(struct AFX_EXTENSION_MODULE &,int)" ([email protected]@[email protected][email protected]@[email protected]) referenced in function [email protected] 
mfcs42.lib(dllmodul.obj) : error LNK2019: unresolved external symbol "int __stdcall AfxInitExtensionModule(struct AFX_EXTENSION_MODULE &,struct HINSTANCE__ *)" ([email protected]@[email protected]@[email protected]@@Z) referenced in function [email protected] 
mfcs42.lib(dllmodul.obj) : error LNK2019: unresolved external symbol "void __stdcall AfxCoreInitModule(void)" ([email protected]@YGXXZ) referenced in function [email protected] 
libcmt.lib(crt0.obj) : error LNK2019: unresolved external symbol _main referenced in function _mainCRTStartup 
.\..\DLL\ImpDplanX.ocx : fatal error LNK1120: 8 unresolved externals 

我读了提出的解决方案,但不知道如何确定什么是真正的从列出的所有可能的原因。或者如何解决它。

+0

也许如果你分享什么是未解决的外部错误,更多的人将能够帮助你。 – leparlon 2014-10-08 14:45:10

回答

1

链接错误可以有多种原因:

其中符号(S)从库中移除了对环境
  • 不满意依赖
    1. 更新环境,即图书馆是太旧了包含特定符号(S)
    2. 是定义了这些符号(S)
    3. 错误的编译环境(错误连接标志,搜索路径等)
    4. 打造的是做错了(也许有些dependencie缺少源文件s没有明确指出构建系统,需要通过以某种顺序构建某些子项目来手动保存)

    没有更多信息,几乎不可能说出问题所在。

  • +0

    你需要什么信息?如果需要,我可以上传整个项目。这是允许的,因为它甚至不会让我附上照片? – mertol 2014-10-08 14:46:44

    相关问题