carla
carla copied to clipboard
CARLA C++ client example/easy_import_cmake_include
Problem
Currently, we do not have any example about how to link CARLA C++ client with a C++ application. I have tried to do it by my self quickly but was not trivial as after adding all the next header files I was still having build issues:
add_compile_definitions(ASIO_NO_EXCEPTIONS,
BOOST_NO_EXCEPTIONS,
LIBCARLA_NO_EXCEPTIONS,
PUGIXML_NO_EXCEPTIONS,
BOOST_DISABLE_ABI_HEADERS,
BOOST_NO_RTTI,
BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY)
target_link_libraries(CarlaStudio PRIVATE C:/programing/carlaUE5/Build/LibCarla/carla-client.lib)
include_directories(C:/programing/carlaUE5/LibCarla/source
C:/programing/carlaUE5/Build/_deps/boost-src/libs/asio/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/config/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/throw_exception/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/assert/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/align/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/geometry/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/range/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/preprocessor/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/mpl/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/type_traits/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/iterator/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/static_assert/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/numeric/conversion/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/core/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/rational/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/utility/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/integer/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/multiprecision/include
C:/programing/carlaUE5/Build/_deps/boost-src/libs/math/include
C:/programing/carlaUE5/Build/_deps/rpclib-src/include)
Proposed solution
My proposal is to create some cmake file that can be included to any C++ project if possible; and anyway create a sample project about how to link with CARLA C++ client.