Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

libnidaqmx.so and NIDAQmx.h not found in ni-daqmx linux version 18.1

Solved!
Go to solution

Installing ni-daqmx version 8.0.2 manually (using INSTALL file), it will create some library such as NIDAQmx.h in the address /usr/local/include/  and libnidaqmx.so in the path /usr/local/lib. I upgrade the driver to 18.1 version on Centos 7 and it is installed successfully, but I can't find those libraries to use in C++ code! Where are c++ API libraries? Should I install something more for them?

0 Kudos
Message 1 of 4
(4,932 Views)
Solution
Accepted by topic author soheil08

I found the NIDAQmx.h in the directory /usr/include/NIDAQmx.h, and I figured out there is no libnidaqmx.so in the file system.

0 Kudos
Message 2 of 4
(4,920 Views)
Solution
Accepted by topic author soheil08

The libnidaqmx.so was created in the path /usr/lib/x86_64-linux-gnu/libnidaqmx.so.18.1.0, too. Because it's name had been changed to libnidaqmx.so.18.1.0, I did not find it.

0 Kudos
Message 3 of 4
(4,904 Views)

@soheil08 wrote:

The libnidaqmx.so was created in the path /usr/lib/x86_64-linux-gnu/libnidaqmx.so.18.1.0, too. Because it's name had been changed to libnidaqmx.so.18.1.0, I did not find it.


The newest drivers use more standard Linux locations for headers and libraries, as you've found.  There are symlinks for the shared objects:

 

libnidaqmx.so -> libnidaqmx.so.1

libnidaqmx.so.1 -> libnidaqmx.so.18.1.0

libnidaqmx.so.18.1.0

 

/usr/lib/x86_64-linux-gnu should have been added to files in /etc/ld.so.conf.d so that ldconfig will create/update links to shared libraries and add them to the library cache.  This will also add them to the runtime linker search path.  You should be able to load them with just "libnidaqmx.so," no path or version necessary.

 

 

0 Kudos
Message 4 of 4
(4,893 Views)