Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB low-full-high speed peripherals Forum Discussions

Han
Level 1
Level 1
5 sign-ins First like received First reply posted

Hello,

After installing Cypress Suite USB, you have 64 bit version of CyAPI.lib for C++ located in C:\Cypress\Cypress Suite USB 3.4.7\CyAPI\lib\x64\CyAPI.lib. I use 64 bit version of CyAPI.lib for Firemonkey embarcadero C++  builder 10.4.2 and target platform (Windows 64-bit). There are the errors (attached file). These errors come from [ilink64 command line] of embarcadero IDE.  I think the  64 bit version CyAPI.lib is not good or compatible with the advanced embarcadero compiler. Would you please send me the WEB link of the updated 64 bit version of CyAPI.lib and the instruction of how to use it? 

I am extremely grateful to you for all your help in advance.   

BRs,

Han     

0 Likes
1 Solution
MallikaK_22
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 250 replies posted

Hi,

The CyAPI C++ library is not a regular C++ library. It exports C++.NET class for it's usage. Hence, this C++ library is compatible only with visual studio based C++ applications.

However, the source code of CyAPI.lib is present in FX3 SDK.  There are two possible solutions-

1) Use the source code of CyAPI and rebuild it as a .lib in the C++ builder environment. 

2) Use the source code of CyAPI and rebuild it as a dynamic library (.dll) in Visual Studio which then can be used in C++ builder project.

You can download CyUSB3_USB_Suite_Souce.zip file from this link : https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit

Both the library and its source is present in the zip folder:

library path: <installation directory>\Cypress\EZ-USB FX3 SDK\CyUSB3_USB_Suite_Source\CyAPI_Library_Source\CyAPI\library\cpp\lib\<architecture>

Regards,

Mallika

View solution in original post

0 Likes
3 Replies
MallikaK_22
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 250 replies posted

Hi,

The CyAPI C++ library is not a regular C++ library. It exports C++.NET class for it's usage. Hence, this C++ library is compatible only with visual studio based C++ applications.

However, the source code of CyAPI.lib is present in FX3 SDK.  There are two possible solutions-

1) Use the source code of CyAPI and rebuild it as a .lib in the C++ builder environment. 

2) Use the source code of CyAPI and rebuild it as a dynamic library (.dll) in Visual Studio which then can be used in C++ builder project.

You can download CyUSB3_USB_Suite_Souce.zip file from this link : https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit

Both the library and its source is present in the zip folder:

library path: <installation directory>\Cypress\EZ-USB FX3 SDK\CyUSB3_USB_Suite_Source\CyAPI_Library_Source\CyAPI\library\cpp\lib\<architecture>

Regards,

Mallika

0 Likes

Hello MallikaK, 

thank you very much for your great comments and suggestion. First of all, I have tested with the solution 1 using C ++ builder 10.4. IDE environment. It note that  C ++ builder 10.4 uses classic Borland compiler (bcc32) for WIN32, and  Clang-based C++ compilers (WIN-64bit): https://stackoverflow.com/questions/31095280/how-to-convert-64bit-coff-to-omf

If use bcc32 compiler and the source code of CyAPI, then rebuild it as a .lib in C ++ builder IDE for target platforms (WIN32),  although there are some warning messages (photo1) that we do not like, it still generates .lib file and I can used it for my application WIN32.  Would you please give me some advices how to remove these warning messages. 

The goal here is to create the library (.a for WIN64) by C ++ Builder IDE (see photo2). For WIN64, the clang-based C++ compiler is used.  There are errors (see photo 3). I think these errors come from Clang-based C ++ compiler. In order to target the WIN64, the clang-based C ++ compiler must be used.  In this case, please let me know if Cypress provide the source code of CyAPI that is compatible with calng-based C ++ compiler? if yes, please send me the link to download it. If yes, we can rebuilt it as any library that is compatible with any C++ based IDE development. That would be great.  

Photo1Photo1

 

Photo2Photo2

 

Photo3Photo3

 

Thank you very much again. 

Best regards, 

Han  

 

 

    

 

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 250 replies posted

Hi Han,

Apologies but we will be unable to assist you further on this because we are not familiar with the other C++ compilers and do not support it.

As I had mentioned in my previous response, the CyAPI C++ library is compatible only with visual studio based C++ applications. For using in C++ builder, I can only offer the two workarounds as mentioned in my previous response.

Regards,

Mallika

 

0 Likes