0 Replies Latest reply on May 8, 2014 9:35 AM by michael.k

    CYAPI compilation issues




      I am using Windows 7 x64 operating system and cy7c80 controller device with FPGA.I have been able to successfully implement UVC-compliant driver and the next task is building custom class for the video signal.


      The host application is compiled by VS2010 SP1.


      Also,I have succeeded to implement sort of small test application using CYAPI Streamer example (I am using the latest Cypress USB suite, 3.4.7),in which I have been able to achieve optimal speed and perform desired operations with received data.The problems occur,when I am going to the next stage and that is design the GUI according to my needs and here I face enormous obstacles:


      1)Once I try to change Streamer application window form  design (even the smallest change) ,several files are stripped off their "Read only" status (I think the most important is Resource.resX) and then ,the hell breaks loose - I got around 90 (!) compilation errors.Doing some tricks such as changing CLR support and adding #include <wtypes.h> and <gdt.h>,that were mentioned in obsolete cypress application note on CyAPI does not help, and I must fallback to previously saved (and untoched) backup copy.Obviously ,using Streamer example as starting point and then tweaking it to my application needs is not a possibility (unless you could provide me some workaround).




      2)After abandoning the Streamer basic option , I have tried working around the problem ,by creating a fresh CLR (C++ WinForms ) application from scratch and then adding CyAPI headers.


      After another torture with compilation errors and playing around with including header files and playing with CLR support I have been able to get compilation-errors free application.But then I have encountered a very critical compilation error,which at this point is a blocking error:


      I have tried to create a CCyUSBDevice instance using the following simple line of code :


      CCyUSBDevice *USBDevice = new CCyUSBDevice(NULL);


      and I get the following linker errors :

          1>CustClass.obj : error LNK2028: unresolved token (0A000021) "public: __thiscall CCyUSBDevice::CCyUSBDevice(void *,struct _GUID,int)" (??0CCyUSBDevice@@$$FQAE@PAXU_GUID@@H@Z) referenced in function "private: bool __clrcall CustClass::Form1::DetectDeviceEndpoints(void)" (?DetectDeviceEndpoints@Form1@CustClass@@$$FA$AAM_NXZ)   
          1>CustClass.obj : error LNK2019: unresolved external symbol "public: __thiscall CCyUSBDevice::CCyUSBDevice(void *,struct _GUID,int)" (??0CCyUSBDevice@@$$FQAE@PAXU_GUID@@H@Z) referenced in function "private: bool __clrcall CustClass::Form1::DetectDeviceEndpoints(void)" (?DetectDeviceEndpoints@Form1@CustClass@@$$FA$AAM_NXZ)   
          1>C:\Cypress\Cypress Suite USB 3.4.7\CyAPI\CustClass\Debug\CustClass.exe : fatal error LNK1120: 2 unresolved externals   
          Sadly ,this is already an advance comparing to my previous attempts (when even CCyUSBDevice device type was not recognized).   
          So,any help would be very appresciated    
          Thank You and Best Regards,