Development Environment: ubuntu 18.04
IDE:Clion 2019
As used herein cmakelist configure some major libraries.
There are the following:
opencv4.1.0 json.cpp boost eigen
cnpy zxing
zbar
cmake_minimum_required(VERSION 3.5) project(KeekoAIRobot) set(CMAKE_CXX_STANDARD 14) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O3 -DNDEBUG") #找到opencv的包 set(TARGET_LIBS "/usr/local/include/opencv4/opencv2/") find_package( OpenCV REQUIRED ) include_directories( ${OpenCV_INCLUDE_DIRS} ) #jsoncpp set(jsoncpp_include_dir "/usr/local/include") set(jsoncpp_link_dir "/usr/lib/x86_64-linux-gnu") include_directories(${jsoncpp_include_dir}) link_directories(${jsoncpp_link_dir}) #boost find_package(Boost REQUIRED COMPONENTS filesystem) set(Boost_LIBS boost_filesystem boost_system) #eigen find_package(Eigen3 REQUIRED) include_directories(${EIGEN3_INCLUDE_DIR}${EIGEN3_LIBRARIES}) # cnpy option(ENABLE_STATIC "Build static (.a) library" ON) find_package(ZLIB REQUIRED) include_directories(${ZLIB_INCLUDE_DIRS}) add_library(cnpy SHARED "libs/cnpy/cnpy.cpp") target_link_libraries(cnpy ${ZLIB_LIBRARIES}) install(TARGETS "cnpy" LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) #zbar set(zbar_include_dir "/usr/local/include") set(zbar_link_dir "/usr/local/lib") include_directories(${zbar_include_dir}) link_directories(${zbar_link_dir}) link_libraries(zbar) #zxing set(zxing_include_dir "/usr/local/include") set(zxing_link_dir "/usr/local/lib") include_directories(${zxing_include_dir}) link_directories(${zxing_link_dir}) link_libraries(zxing) if(ENABLE_STATIC) add_library(cnpy-static STATIC "libs/cnpy/cnpy.cpp") set_target_properties(cnpy-static PROPERTIES OUTPUT_NAME "cnpy") install(TARGETS "cnpy-static" ARCHIVE DESTINATION lib) endif(ENABLE_STATIC) install(FILES "libs/cnpy/cnpy.h" DESTINATION include) install(FILES "mat2npz" "npy2mat" " Npz2mat " DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) # multithreading the SET (CMAKE_CXX_FLAGS " $ {} CMAKE_CXX_FLAGS -std = c ++ 11 -pthread " ) # add files to run add_executable (KeekoAIRobot main.cpp ) # Dynamic link #target_link_libraries (pedestrian_detection OpenCV_LIBS $ {}) target_link_libraries (KeekoAIRobot OpenCV_LIBS $ {}) target_link_libraries (KeekoAIRobot jsoncpp) target_link_libraries (KeekoAIRobot cnpy) #aux_source_directory (. DIR_LIB_SRCS) target_link_libraries(KeekoAIRobot zbar) target_link_libraries (KeekoAIRobot ZXing) # Search catalog search the source code and assigned to the variable # Add the library file #add_library (KeekoAILib SHARED $ {DIR_LIB_SRCS} )