views:

38

answers:

2

I am trying to compile the SkpWriter example from the latest SketchUp C++ SDK. However, the linker gives me LNK1104 saying that "mfc80u.lib" could not be found since one of the static libraries (Utils.lib) in the SDK depends on some MFC 8 libraries. I am using VS2008 and only mfc90u.lib is available.

Is there a way to use mfc90u.lib in place of mfc80u.lib (anything short of renaming the file)? Are MFC 8 DLLs and LIBs available for download? (Why should someone using a DLL created with VS2005 also be expected to install VS2005?!!) What are my options here?

A: 

Probably you have 2 option:
1. Build your exe in VS2005 and use existing dll.
2. Rebuilt your dll in VS2008 and link with your exe.

MFC6 & MFC9 binary is not compatible, especially CString and CWnd, they are different in VC6 and VC9....

wengseng
Something might be useful:http://stackoverflow.com/questions/2339759/why-visual-c-6-complains-on-private-destructor
wengseng
+1  A: 

Right-click your project, Properties, Linker, Input. In the "Ignore Specific Library" setting put mfc80u.lib. In the "Additional Dependencies" setting add mfc90u.lib

No guarantee that this will work but you got a decent shot at it. Your best bet is to contact the SDK vendor and ask for an update.

Hans Passant
The SDK vendor (a company called Google) is not very interested in supporting this particular SDK since it's given away for free.
Vulcan Eager
Hmya, free software is only free if your time isn't worth anything. How did changing the settings work out?
Hans Passant
Not too well. VS wouldn't copy mfc90u.dll to the output folder. I had to do that manually... followed by issues with msvcr90.dll.
Vulcan Eager