Jump to content
HTMLValidator.com

ICS 9.3 and C++ compiler errors

Recommended Posts

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 by HTMLValidator.com

Share this post


Link to post

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.

  • Like 1

Share this post


Link to post

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

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
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 by HTMLValidator.com

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
×