链接到库需要 MFC80U.LIB

Posted

技术标签:

【中文标题】链接到库需要 MFC80U.LIB【英文标题】:Linking to a Library requires MFC80U.LIB 【发布时间】:2010-09-29 09:32:54 【问题描述】:

我正在尝试从最新的 SketchUp C++ SDK 编译 SkpWriter 示例。但是,链接器给了我 LNK1104 说找不到“mfc80u.lib”,因为 SDK 中的静态库 (Utils.lib) 之一依赖于一些 MFC 8 库。我用的是VS2008,只有mfc90u.lib可用。

有没有办法使用 mfc90u.lib 代替 mfc80u.lib(除了重命名文件)? MFC 8 DLL 和 LIB 是否可供下载? (为什么使用 VS2005 创建的 DLL 的人也应该安装 VS2005?!!)我的选择是什么?

【问题讨论】:

【参考方案1】:

右键单击您的项目、属性、链接器、输入。在“忽略特定库”设置中放入 mfc80u.lib。在“附加依赖项”设置中添加 mfc90u.lib

不能保证这会奏效,但您已经获得了不错的机会。最好的办法是联系 SDK 供应商并要求更新。

【讨论】:

SDK 供应商(一家名为 Google 的公司)对支持这个特定的 SDK 不是很感兴趣,因为它是免费赠送的。 Hmya,免费软件只有在你的时间一文不值的情况下才是免费的。更改设置效果如何? 不太好。 VS 不会将 mfc90u.dll 复制到输出文件夹。我必须手动执行此操作...其次是 msvcr90.dll 的问题。 您不清楚“不保证这会起作用”的哪一部分?【参考方案2】:

您可能有 2 个选项: 1.在VS2005中构建你的exe并使用现有的dll。 2.在VS2008中重建你的dll并与你的exe链接。

MFC6 和 MFC9 二进制不兼容,尤其是 CString 和 CWnd,它们在 VC6 和 VC9 中是不同的......

【讨论】:

有些东西可能有用:***.com/questions/2339759/…

以上是关于链接到库需要 MFC80U.LIB的主要内容,如果未能解决你的问题,请参考以下文章

C++ - LoadLibrary() 实际上链接到库吗?

使用 CMake 生成器表达式有条件地链接到库列表

将程序链接到库,每个库使用不同的 _GLIBCXX_USE_CXX11_ABI

与使用 MFC 的常规 DLL 链接时,MFC 应用程序断言失败

使用 /clr 编译 MFC 应用程序(步骤 1:链接到动态 DLL)

静态或动态链接 CRT、MFC、ATL 等