2010-09-29 70 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

相關問題