08-05-2018 05:42 AM
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?
Solved! Go to Solution.
08-05-2018 07:24 AM
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.
08-06-2018 01:12 AM
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.
08-06-2018 09:12 AM
@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.