11-21-2016 08:42 PM
Hi,
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.
11-21-2016 09:35 PM
What dll are you talking about? Provide some information on what it is supposed to do and where you got it from.
11-22-2016 09:00 AM
Hi,
it's the dll file from FTDI, the link below:
http://www.ftdichip.com/Support/SoftwareExamples/LibFT4222-v.1.3.zip
It's a driver to control FT4222H chip to start SPI/I2C communication.
11-22-2016 09:35 AM
11-22-2016 09:41 AM
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.
11-22-2016 10:07 AM
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.
11-22-2016 10:21 AM
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.
11-22-2016 04:09 PM - edited 11-22-2016 04:15 PM
System hickup caused double post!
11-22-2016 04:14 PM - edited 11-22-2016 04:17 PM
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).
11-22-2016 06:14 PM
Rolf,
Thanks!
That solved my problem.
It all works now.
I will share my codes here if anyone interested.