w0wbagger 6 Posted September 23 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
Remy Lebeau 1676 Posted September 23 (edited) 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 September 23 by Remy Lebeau Share this post Link to post
w0wbagger 6 Posted September 24 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
TristanC 1 Posted September 29 Hello, were you able to fix this issue, because I have a similar problem with qedit.h Share this post Link to post
TristanC 1 Posted September 29 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