Build LSX 8.0 solutions with Visual C++ 2008 Express

This is a quick update for the article I wrote yesterday aboutĀ  the “LStatus definition problem with winreg.h“.

VS 2008 Express Edition does install the Microsoft Platform SDK Version 6.1 during setup. This version conflicts with the Lotus eXtension Toolkit 8.0.

Unfortunately, there is no option to not install the SDK. So here is what I did:

  • Run setup to install VC++ 2008 with all components.
  • Remove the Platform SDK via Windows System Control ( Add / Remove software )
  • Install the Platform SDK for Windows Server 2003 SP1
  • Configure VC++ to point to the SDK

The LSX samples will now compile properly. If you get errors on linking, be sure to add uuid.lib user32.lib and Ole32.lib as additional dependencies.

I’m not sure, if there are any side effects when replacing the SDK. If anyone has some deeper knowledge on this topic, pls. feel free to leave a comment.

LStatus definition problem with winreg.h

I installed the new Lotus eXtension Toolkit on top of my VSĀ  2008 C++ Express compiler.

The compiler works fine for code generated using the C-API toolkit. But when I try to compile the samples that come with the Lotus eXtension toolkit, the compiler throws an error when compiling lsxcomm.cpp

c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(175) : error C2371: ‘LSTATUS’ : redefinition; different basic types c:\c-api\lsx8\inc\sys\lssam.h(385) : see declaration of ‘LSTATUS’

As far as I could see from the CfgEnv.cmd file, VS2008 is a supported compiler. And I found a comment on Bob Balaban’s blog that reported exactly the same issue.

So I wonder, if anybody was able to solve the problem and can give me a hint, what to do. I’m afraid, opening a PMR would not be the most effective way to do so … but still is an option.