Jump to content
w0wbagger

comdef.h missing from RAD Studio 13.0?

Recommended Posts

Hey folks, just trying to migrate from 12.3 to 13.0, and comdef.h is no longer in the include\windows\sdk directory, so I can't compile my code? 

Working with an imported Quickbooks library, and _bstr_t and _com_error are undefined without it.

Is there a different approach to interacting with COM objects in C++ Builder 13? 

Thanks.

Share this post


Link to post

https://docwiki.embarcadero.com/RADStudio/Florence/en/What's_New#Installation_Process_Updates

Quote

Starting in RAD Studio Florence 13.0, the installer no longer automatically installs the Windows SDK. Instead, it checks whether the current version of the SDK is already on the computer and, if not, during the installation, provides the installation link. The download and installation of the Windows SDK are prerequisites for RAD Studio, and we recommend installing it before installing RAD Studio 13.0. Read more details in the Installation Notes.

comdef.h is one of many SDK headers affected by this change.

 

As _bstr_t and _com_error are Win32 classes, you will need to install the Windows SDK to continue using them.

Edited by Remy Lebeau

Share this post


Link to post

Except that I *did* install the Windows SDK before installation of 13. Maybe the include path is missing from my project? I'll take a look.

 

Also, 13.0 ships with valid, C++ Builder compatible Crypt32.lib and Cryptui.lib files for the 32bit toolchain, but those two files are conspicuously missing from the Win64 toolchain for use with the classic Win64 compiler, which can't read the COFF format. Do I have to import them from the SDK to use them with the Win64 target? 
Migrating my app to 64-bit has been more difficult than I thought!

 

Share this post


Link to post

Hello, were you able to fix this issue, because I have a similar problem with qedit.h

Share this post


Link to post

Okay, so I have fixed it by copying and pasting the missing .h files from 23.0/include/windows/sdk to 37.0/include/windows/sdk.
From what I understood, it affects files that were deprecated in newer sdk versions, which might explain why they are no longer included.
However, for my case, the missing edits where apparently deprecated more than 10 years ago, so I don't know why they were still present in 12.3

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×