After installing VisionWorks on the Jetson TX2 I was able to run all the samples and demos. By running these samples the NVX and OVX (before NVXIO) libraries should be installed. The problem is that I only can find the NVX library installed. I can see that the OVX (located together with NVX) library is created in the VisionWorks-1.6-Samples directory, but it is not installed in /usr/include. NVX and other libraries as VX and opencv are, but OVX is simply not installed there. How can I also get OVX installed, so I can include them in my own projects?
As you know, NVXIO was split to NVX and OVX, where NVX has no dependency on OpenVX and OVX has dependency on OpenVX.
Static library libnvx.a and libovx.a will be generated automatically before building visionworks samples.
nvx_sample_object_tracker_nvxcu are build with libnvx.a. Other samples and demos are build with libovx.a.
Compile a sample except from nvx_sample_object_tracker_nvxcu will generate ovx library at ‘[Sample]/libs/aarch64/linux/release’.
I have compiled the demos and I can see that the libovx.a is generated. Now I want to use it for compiling my own code, because I want to use the Render functions that are in libovx.a. But I have problems with linking the library correctly.
In my main.cpp file I use the following:
I use the following command for compiling:
g++ -std=c++11 main.cpp -o output
pkg-config --cflags --libs opencv -lvisionworks -lovx
I also tried a few other things, using -L to define the directory of libovx.a. But that still would not work.
All the other libraries are working correctly. I am not very familiar with linking libraries, so it could be a very obvious mistake.
Please find this topic for example: