2010-09-29 121 views
0

我想从最新的SketchUp C++ SDK编译SkpWriter示例。但是,由于SDK中的一个静态库(Utils.lib)依赖于某些MFC 8库,因此链接程序向我提供了LNK1104,因此无法找到“mfc80u.lib”。我正在使用VS2008,只有mfc90u.lib可用。链接到库需要MFC80U.LIB

有没有办法使用mfc90u.lib来代替mfc80u.lib(重命名该文件的任何内容)? 是否可以下载MFC 8 DLL和LIB? (为什么有人使用VS2005创建的DLL也需要安装VS2005?)这里有什么我的选择?

回答

0

也许你有2个选项:
1.在VS2005中建立你的exe文件并使用现有的dll。
2.重建你的DLL在VS2008和链接与您的EXE。

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

+0

可能有用的东西: http://stackoverflow.com/questions/2339759/why-visual-c-6-complains-on-private-destructor – wengseng 2010-09-29 09:43:02

1

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

不保证这可以正常工作,但是您得到了一个体面的照片。您最好的选择是联系SDK供应商并要求更新。

+0

SDK供应商(一家名为谷歌的公司)不是很感兴趣支持这个特殊的SDK,因为它是免费赠送的。 – 2010-09-29 17:41:07

+1

Hmya,如果你的时间不值钱,免费软件是免费的。如何改变设置? – 2010-09-29 17:43:10

+0

不太好。 VS不会将mfc90u.dll复制到输出文件夹。我必须手动执行此操作...之后是msvcr90.dll问题。 – 2010-10-01 06:51:03