【问题标题】:Linking to a Library requires MFC80U.LIB链接到库需要 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?!!)我的选择是什么?

【问题讨论】:

    标签: c++ visual-studio-2008 mfc linker sketchup


    【解决方案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 中是不同的......

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2021-08-26
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多