gpt4 book ai didi

visual-c++ - 对话框应用程序和库之间的链接错误

转载 作者:行者123 更新时间:2023-12-04 02:21:28 26 4
gpt4 key购买 nike

我有一个对话应用程序,它曾经完美运行。它使用 MFC。我想将一些类移动到一个单独的库(在同一个解决方案中),所以我在同一个解决方案中创建了一个新项目,选择了 Win32 控制台应用程序、静态库和 MFC,并将这些类移动到新项目中。库项目似乎可以正常编译。

在原始项目中,我添加了对新库的引用。

我现在遇到这些错误,不知道如何解决。如果我编辑项目属性并选择 Linker/Input/Ignore All Default Libraries,我会收到更多错误。

1>afxnmcdd.lib(wincore2.obj) : error LNK2005: "void __stdcall DDX_Control(class CDataExchange *,int,class CWnd &)" (?DDX_Control@@YGXPAVCDataExchange@@HAAVCWnd@@@Z) already defined in nafxcwd.lib(wincore2.obj)
1>afxnmcdd.lib(wincore2.obj) : error LNK2005: "public: int __thiscall CWnd::ExecuteDlgInit(void *)" (?ExecuteDlgInit@CWnd@@QAEHPAX@Z) already defined in nafxcwd.lib(wincore2.obj)
1>afxnmcdd.lib(afxctrlcontainer2.obj) : error LNK2005: "void __cdecl AfxRegisterMFCCtrlClasses(void)" (?AfxRegisterMFCCtrlClasses@@YAXXZ) already defined in nafxcwd.lib(afxctrlcontainer2.obj)
1>afxnmcdd.lib(afxctrlcontainer2.obj) : error LNK2005: "protected: void __thiscall CMFCControlContainer::PreUnsubclassControl(class CWnd *)" (?PreUnsubclassControl@CMFCControlContainer@@IAEXPAVCWnd@@@Z) already defined in nafxcwd.lib(afxctrlcontainer2.obj)
1>afxnmcdd.lib(afxctrlcontainer2.obj) : error LNK2005: "public: int __thiscall CMFCControlContainer::SubclassDlgControls(void)" (?SubclassDlgControls@CMFCControlContainer@@QAEHXZ) already defined in nafxcwd.lib(afxctrlcontainer2.obj)
1>afxnmcdd.lib(afxctrlcontainer2.obj) : error LNK2005: "public: static int __stdcall CMFCControlContainer::UTF8ToString(char const *,class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > > &,int)" (?UTF8ToString@CMFCControlContainer@@SGHPBDAAV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@H@Z) already defined in nafxcwd.lib(afxctrlcontainer2.obj)
1>.\Debug\application-ui.exe : fatal error LNK1169: one or more multiply defined symbols found

我该如何解决这个问题?

最佳答案

在您的静态库中转到 STDAFX.H 并注释掉以下预处理器宏:

#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS

关于visual-c++ - 对话框应用程序和库之间的链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13994275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com