Add thrid party library to voxl-cross
-
Hi,
I would like to use a third party library to interface my sensor with voxl2, but I don't find the documentation on how to add a new library on voxl-cross.
I assume to be able to run on voxl2 it need to be compile with voxl-cross. Am I correct ? I also try and build directly on the voxl2 with cmake over adb but the performance are much lower than using voxl-cross (I run a c programme that compute the 50th first pi decimal just for test).
What would be the best path to make it work ?
The library I look to use is libcaer for inivation sensor. https://gitlab.com/inivation/dv/libcaer
Thank for your help.
-
Hi,
I would like to use a third party library to interface my sensor with voxl2, but I don't find the documentation on how to add a new library on voxl-cross.
I assume to be able to run on voxl2 it need to be compile with voxl-cross. Am I correct ? I also try and build directly on the voxl2 with cmake over adb but the performance are much lower than using voxl-cross (I run a c programme that compute the 50th first pi decimal just for test).
What would be the best path to make it work ?
The library I look to use is libcaer for inivation sensor. https://gitlab.com/inivation/dv/libcaer
Thank for your help.
@remill Normally what we do is build these libraries and create a Debian package to install them. Then, when building the application that depends on the library it is installed at build time using the install_build_deps.sh script. An example of this is: https://gitlab.com/voxl-public/voxl-sdk/third-party/voxl-jpeg-turbo/-/tree/dev?ref_type=heads which creates a package for the jpeg-turbo library. Then an application that uses it, like voxl-portal, will list that as a dependency in the script: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-portal/-/blob/dev/install_build_deps.sh?ref_type=heads#L16
-
@remill Normally what we do is build these libraries and create a Debian package to install them. Then, when building the application that depends on the library it is installed at build time using the install_build_deps.sh script. An example of this is: https://gitlab.com/voxl-public/voxl-sdk/third-party/voxl-jpeg-turbo/-/tree/dev?ref_type=heads which creates a package for the jpeg-turbo library. Then an application that uses it, like voxl-portal, will list that as a dependency in the script: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-portal/-/blob/dev/install_build_deps.sh?ref_type=heads#L16
Ok thanks for you clarification, I will try it and see how it goes.
-
Ok thanks for you clarification, I will try it and see how it goes.
@remill
You can also add a FetchContent CMake declaration that will build your library during compilation. Here is an example for yaml-cppinclude(FetchContent) # Fetch yaml-cpp from GitHub FetchContent_Declare( yaml-cpp GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git GIT_TAG yaml-cpp-0.6.3 ) # Disable yaml-cpp tests set(YAML_CPP_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(YAML_BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE) #cross 4.0 quits the chat if building static FetchContent_MakeAvailable(yaml-cpp) # Confirm target exists if (TARGET yaml-cpp) add_library(yaml-cpp::yaml-cpp ALIAS yaml-cpp) endif() install(FILES ${yaml-cpp_BINARY_DIR}/libyaml-cpp.so ${yaml-cpp_BINARY_DIR}/libyaml-cpp.so.0.6 ${yaml-cpp_BINARY_DIR}/libyaml-cpp.so.0.6.3 DESTINATION ${CMAKE_INSTALL_LIBDIR} )
Reading along? Create a free ModalAI Forum account to join in.
With an account you can reply, ask your own question, get an email when a ModalAI engineer answers, and mark the reply that solved it. Your place in each thread is saved between visits.
Questions about VOXL, Flight Core, ESCs and ModalAI drones are answered here by the engineers who build them.
Register Login