I imported the libft4222.dll to created library but encountered dll load failed when I tried to use them.
it complains ordinal 90 not found in fd2xxx.dll then it complains libft4222.dll load failed since operating system not run in %1.
any help would be appreciated.
My labview is 2014. 32bits.
Solved! Go to Solution.
Thanks for your reply.
I followed all the instructions and installed the latest driver in my computer(windows 7).
I can successfully communicate FT4222H with the examples on their website(please see the link above); but no success with labview.
Please advise if there is anything else I can try.
Search your harddisk for occurrences of the ftd2xx.dll file and look at their versions. Most likely you have multiple versions of those DLLs in your system. When you call that DLL from LabVIEW, Windows will only search in the system directory and the application directory (which is the LabVIEW directory itself) for that DLL, while your FTDI examples may use different locations to reference the DLL.
I assigned the path in "call library function node", it should use the one I assigned.
There is one in my disk which is the one I assigned to.
I did a quick experiment and found out, if I put ftd2xxx.dll and libft4222.dll together labview will complain.
Does that mean I cannot use both dll at the same time?
I need both since ftd2xxx.dll is general functions for open/close and other general functions while Libft2222.dll is the FT2222H specific functions like I2C/SPI read/write setting devices in different modes.
Usually the ftd2xx.dll file gets installed into the Windows system directory. Check there (System32 on 32 Bit Windows and SysWOW64 on 64 Bit Windows for 32 Bit applications). The other DLL might try to load the file from there but gets a problem if you already load that DLL in LabVIEW from a different place.
If you find the ftd2xx.dll in the system directory, change the Call Library Nodes for that DLL to only contain the DLL file name without Windows system directory path. That will avoid problems when you or someone else later tries to build an executable containing these VIs.
Yes that means that any user of your LabVIEW application will actually need to install the FTDI driver on his system, but that is clearly how FTDI has designed this and therefore you should follow that.
If this doesn't help you really need to open a support ticket with FTDI. They are the only people who know how they build their DLLs and how they are supposed to work together. LabVIEW isn't doing anything special with DLLs that would cause this problem (but you are doing that by explictly pointing the LabVIEW VIs to the ftd2xx.dll path). Your sample programs only link with the import library ftd2xx.lib and that does not reference the DLL by full path but only the library name alone without any path, which means that the DLLs only can be either in the same directory as the executable itself or in the Windows or System directory).