ICS_NEW 0 Posted September 28, 2020 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
Angus Robertson 577 Posted September 28, 2020 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
ICS_NEW 0 Posted September 29, 2020 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
Angus Robertson 577 Posted September 29, 2020 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
ICS_NEW 0 Posted September 29, 2020 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
Angus Robertson 577 Posted September 29, 2020 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
ICS_NEW 0 Posted September 30, 2020 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
Angus Robertson 577 Posted September 30, 2020 (edited) 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 September 30, 2020 by Angus Robertson Share this post Link to post
FPiette 385 Posted September 30, 2020 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