HTMLValidator.com 6 Posted 14 hours ago (edited) I'm trying to move to the new C++ Win64x toolchain in RAD Studio 12.2 Patch 2 and I upgraded to ICS 9.3 but now when I try to build a basic C++ VCL app with just a form and a TSslHttpCli component I get these compiler errors: With bcc32c: [bcc32c Error] OverbyteIcsTypes.hpp(74): unknown type name '_TRANSMIT_FILE_BUFFERS' [bcc32c Error] OverbyteIcsTypes.hpp(76): unknown type name '_TRANSMIT_FILE_BUFFERS' [bcc32c Error] OverbyteIcsTypes.hpp(78): unknown type name 'ip_mreq' [bcc32c Error] OverbyteIcsTypes.hpp(80): unknown type name 'ip_mreq' [bcc32c Error] OverbyteIcsTypes.hpp(94): unknown type name 'sockaddr_in6' [bcc32c Error] OverbyteIcsTypes.hpp(96): unknown type name 'sockaddr_in6' [bcc32c Error] OverbyteIcsTypes.hpp(98): unknown type name 'ipv6_mreq' [bcc32c Error] OverbyteIcsTypes.hpp(100): unknown type name 'PIPV6_MREQ' [bcc32c Error] OverbyteIcsUtils.hpp(624): unknown type name 'sockaddr_in6' [bcc32c Error] OverbyteIcsUtils.hpp(624): expected unqualified-id With bcc64x: [bcc64x Error] OverbyteIcsTypes.hpp(74): unknown type name '_TRANSMIT_FILE_BUFFERS' [bcc64x Error] OverbyteIcsTypes.hpp(76): unknown type name '_TRANSMIT_FILE_BUFFERS' [bcc64x Error] OverbyteIcsTypes.hpp(78): unknown type name 'ip_mreq' [bcc64x Error] OverbyteIcsTypes.hpp(80): unknown type name 'ip_mreq' [bcc64x Error] OverbyteIcsTypes.hpp(94): unknown type name 'sockaddr_in6' [bcc64x Error] OverbyteIcsTypes.hpp(96): unknown type name 'sockaddr_in6' [bcc64x Error] OverbyteIcsTypes.hpp(98): unknown type name 'ipv6_mreq' [bcc64x Error] OverbyteIcsTypes.hpp(100): unknown type name 'PIPV6_MREQ' [bcc64x Error] OverbyteIcsUtils.hpp(614): unknown type name 'sockaddr_in6' Any solution or should I try to go back to a previous version like 8.70 which was working before? Edited 14 hours ago by HTMLValidator.com Share this post Link to post
HTMLValidator.com 6 Posted 14 hours ago Well, after playing around, I added these two lines to OverbyteIcsTypes.hpp (after '#include <System.SysUtils.hpp>') and it worked! #include <mswsock.h> #include <ws2ipdef.h> So hopefully this is helpful. I am still trying to get everything to work but at least it compiled and linked. 1 Share this post Link to post
w0wbagger 0 Posted 14 hours ago Thank you! This is the only thing keeping me from moving to 12.2 (I couldn't get 9.x to compile on it), so I'll try this soon! Did you have to use the 'classic' borland compiler for the 32-bit? Share this post Link to post
Angus Robertson 574 Posted 8 hours ago I mentioned here in October that the beta version of ICS in SVN and the overnight zip now builds (mostly) correctly for C++ and D12.2, V9.3 does not! But I've had zero feedback from C++ users, despite at least three users agreeing to test it. So please stop reporting C++ problems with ICS versions known not to work, and help test the official version. Angus Share this post Link to post
HTMLValidator.com 6 Posted 2 hours ago (edited) 12 hours ago, w0wbagger said: Thank you! This is the only thing keeping me from moving to 12.2 (I couldn't get 9.x to compile on it), so I'll try this soon! Did you have to use the 'classic' borland compiler for the 32-bit? No, I don't use the 'classic' 32-bit compiler anymore. Oh, when building the ICS projects I also used "..\Lib\$(Config)\$(Platform)$(CC_SUFFIX)\$(ProductVersion)" for the 3 output folders in "Building > Delphi Compiler > Output - C/C++" for "All configurations - All platforms" because they were blank and it was throwing everything into the same folder. Then I had to make sure all the search paths were correct so the compiler and linker could find everything it needed. I'm still having issues getting everything to worth though but not sure if it's ICS or something else. Edited 1 hour ago by HTMLValidator.com Share this post Link to post