Jump to content
ICS_NEW

OverbyteIcsLIBEAY.hpp Line 58 typedef void __cdecl (*TCryptoThreadIDCallback)(Overbyteicsssleay::PCRYPTO_THREADID ID);

Recommended Posts

I just installed ICS 8.64 into C++Builder EX7, on Windows 10.

 

The project uses OverbyteIcsFtpCli.hpp and OverbyteIcsLIBEAY.hpp.

 

I get the compiler error

[bcc32 Error] OverbyteIcsLIBEAY.hpp(58): E2257 , expected for the line.

typedef void __cdecl (*TCryptoThreadIDCallback)(Overbyteicsssleay::PCRYPTO_THREADID ID);

 

I'm not sure what the problem is. Any help in getting to the bottom of this would be appreciated.

 

I have also installed  Win32OpenSSL-1_0_0a.exe

Could it be that I have the incorrect dll's on my PC

 

Share this post


Link to post

No idea where you found Win32OpenSSL-1_0_0a.exe must be 10 years old, we certainly don't support it.  You will find the latest OpenSSL included in the ICS zip. 

 

Sorry, we don't support C++ XE7, there are no packages for it.  Other users have helped us support C++ for 10.2 and later, but you will need to update the XE3 package and make it work with XE7.

 

Angus

 

Share this post


Link to post

Thanks for the response Angus.

 

So some background - I have legacy projects (C++Builder 6) using OpenSSL 1.0.0a. I am converting these to C++Builder XE7. 

In the legacy projects TFTPClient is used.

 

I installed ICS V8.64 - 10.2 Tokyo successfully. I have tried to install the package without the SSL components by removing the "USE_SSL" conditional define. This part was unsuccessful. The SSL components are installed regardless. Any suggestions? Are there files I can remove from the Install project group to exclude the SSL components? If so, which ones should be removed?

 

In my current situation I get the following error when compiling. I believe that if the SSL components are excluded this error will go away.

 

[bcc32 Error] asn1.h(527): E2015 Ambiguity between 'ASN1_BOOLEAN' and 'Overbyteicsssleay::ASN1_BOOLEAN'
  Full parser context
    uMain.cpp(87): #include uMain.h
    uMain.h(166): #include ..\..\GMS StarCos & MostCos Card Lib\Source\uCardReaderUtil.h
    uCardReaderUtil.h(51): #include ..\..\GMS StarCos & MostCos Card Lib\Source\CGSCardReaderHandler.h
    CGSCardReaderHandler.h(10): #include ..\..\GMS StarCos & MostCos Card Lib\Source\CGSMostCosCard.h
    CGSMostCosCard.h(7): #include ..\..\GMS StarCos & MostCos Card Lib\Source\CMostCosCommands.h
    CMostCosCommands.h(9): #include C:\OpenSSL-Win32\include\openssl/objects.h     (This file is from version 1.0.0a)
    objects.h(960): #include C:\OpenSSL-Win32\include\openssl/asn1.h    (This file is from version 1.0.0a)
    asn1.h(523): class asn1_type_st
    asn1.h(525): class asn1_type_st:: 

 

The older SSL version will be phased out in a later release. Currently other projects are working fine where the older SSL version is used without the inclusion of the TFtpClient ("OverbyteIcsFtpCli.hpp").

 

Share this post


Link to post

The oldest version of OpenSSL that ICS supports is 1.0.2, it will not load older versions, nor even that old out of support version shortly.  If you want to use ancient versions of OpenSSL, you'll need to use an anciient version of ICS, if you can find one.

 

Angus

 

Share this post


Link to post

Thanks again for the response.

 

I am aware that the version above is an old unsupported version.

 

The question relates to the below:

 

I installed ICS V8.64 - 10.2 Tokyo successfully. I have tried to install the package without the SSL components by removing the "USE_SSL" conditional define. This part was unsuccessful. The SSL components are installed regardless. Any suggestions? Are there files I can remove from the Install project group to exclude the SSL components? If so, which ones should be removed?

 

Right now I just need to install the ICS components without the SSL parts. Can this be done?

Based on the text in ReadMe8.txt it should be simple (see below).


"SSL or not SSL?

By default the SSL code is compiled into the run-time package and additional SSL-
enabled components are installed. In order to not compile the SSL code into the
run-time package and to not install the SSL-Enabled components you need to remove
the conditional define USE_SSL from both the run-time and design-time package.

However if you do not build your applications with run-time packages it is
recommended to build the packages with default settings. The SSL code will the
be compiled into your applications depending on whether the conditional define
USE_SSL is set in the project options or not (this requires having the .\Source
directory in either in the library path or in projects Search path)."

 

I have done the above and removed the USE_SSL conditional define when building the Runtime and Design time packages contained in CB102InstallVclFmx.groupproj.local.

The SSL components are still installed,

 

Regards

Wayne

 

Share this post


Link to post

For Delphi, we test without USE_SSL maybe every couple of years, never tested it for C++.  We really don't have time or inclination to support 20 or different compilers with and without SSL.  This is a free package.

 

SSL code is embedded in almost every unit, removing a couple of SSL only files will not help.

 

Angus

 

Share this post


Link to post
On 9/28/2020 at 11:18 AM, Angus Robertson said:

Sorry, we don't support C++ XE7, there are no packages for it.  Other users have helped us support C++ for 10.2 and later, but you will need to update the XE3 package and make it work with XE7.

Hi Angus,

The XE3 components do not install into XE7 - Error "OverbyteIcsCBXe3Design.dll can't be installed because it was created with a different version of Delphi or CBuilder"

I assume this is because the dcu files are version dependent. 

 

"but you will need to update the XE3 package and make it work with XE7"

 

Please give me a couple of pointers on how to achieve the above to get me started?

Do I need to recompile the Xe3 source into a new package using either Delphi or CBuilder Xe7?

 

Regards

Wayne

 

 

Share this post


Link to post

Sorry I can not help.  I do not use C++ Builder and have never supported it.  ICS is dependent upon end users to help us support C++ and no-one did until 10.2.

 

Also, USE_SSL support will be ceasing in ICS, it is historic and in future ICS will always support SSL/TLS as do all the new components added in recent years. 

 

Angus

 

Edited by Angus Robertson

Share this post


Link to post
1 hour ago, ICS_NEW said:

Do I need to recompile the Xe3 source into a new package using either Delphi or CBuilder Xe7?

Yes, this is what is required. No need to build one for Delphi since it already exists.

 

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

×