# pkgconfig **Repository Path**: dong2/pkgconfig ## Basic Information - **Project Name**: pkgconfig - **Description**: Makefile cmake pkgconfig - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-03 - **Last Updated**: 2021-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pkgconfig opencv example: Makefile cmake pkgconfig #### build.sh ``` cmake ../ \ -DCMAKE_C_COMPILER=mips-linux-gnu-gcc \ -DCMAKE_CXX_COMPILER=mips-linux-gnu-g++ \ -DOPENCV_FORCE_3RDPARTY_BUILD=ON \ -DBUILD_ZLIB=ON -DWITH_GTK=OFF -DWITH_GTK=OFF \ -DWITH_GTK_2_X=OFF -DWITH_CUDA=OFF -DWITH_IPP=OFF \ -DWITH_OPENCL=OFF -DWITH_OPENCLAMDBLAS=OFF \ -DWITH_QUIRC=OFF -DWITH_OPENCLAMDFFT=OFF \ -DWITH_1394=OFF -DWITH_FFMPEG=OFF -DWITH_WEBP=OFF \ -DWITH_TIFF=OFF -DWITH_OPENEXR=OFF -DWITH_PNG=OFF \ -DWITH_PROTOBUF=OFF -DWITH_GSTREAMER=OFF -DWITH_IMGCODEC_SUNRASTER=OFF \ -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_ts=OFF \ -DBUILD_opencv_shape=OFF -DBUILD_opencv_stitching=OFF \ -DBUILD_opencv_apps=OFF -DBUILD_opencv_calib3d=OFF \ -DBUILD_opencv_dnn=OFF -DBUILD_opencv_features2d=OFF \ -DBUILD_opencv_flann=OFF -DBUILD_opencv_highgui=OFF \ -DBUILD_opencv_ml=OFF -DBUILD_opencv_objdetect=OFF \ -DBUILD_opencv_photo=OFF -DBUILD_opencv_video=OFF \ -DBUILD_opencv_videoio=OFF -DBUILD_opencv_videostab=OFF \ -DCMAKE_BUILD_TYPE=RELEASE \ -DCMAKE_INSTALL_PREFIX=../output \ -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64 \ -DCMAKE_CXX_FLAGS="-s -Os" -DCMAKE_C_FLAGS="-s -Os" ``` #### opencv.pc ``` # Package Information for pkg-config prefix=/home/zhoudd/2021/202107/cv/opencv-3.4.9/output exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir_old=${prefix}/include/opencv includedir_new=${prefix}/include Name: OpenCV Description: Open Source Computer Vision Library Version: 3.4.9 Libs: -L${exec_prefix}/lib -lopencv_imgcodecs -lopencv_imgproc -lopencv_core Libs.private: -L${exec_prefix}/share/OpenCV/3rdparty/lib -lzlib -littnotify -llibjpeg-turbo -llibjasper -ldl -lm -lpthread -lrt Cflags: -I${includedir_old} -I${includedir_new} ``` #### .bashrc ``` export LD_LIBRARY_PATH=/home/zhoudd/2021/202107/cv/opencv-3.4.9/output/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=/home/zhoudd/2021/202107/cv/opencv-3.4.9/output/lib/pkgconfig:$PKG_CONFIG_PATH ``` #### Makefile cd opencv-3.4.9/samples/cpp/example_cmake ``` CXX = mips-linux-gnu-g++ CXXFLAGS += -c -Wall $(shell pkg-config --cflags opencv) LDFLAGS += $(shell pkg-config --libs --static opencv) all: opencv_example opencv_example: example.o; $(CXX) $< -o $@ $(LDFLAGS) %.o: %.cpp; $(CXX) $< -o $@ $(CXXFLAGS) clean: ; rm -f example.o opencv_example ``` #### cmake cd opencv-3.4.9/samples/cpp/example_cmake ``` # cmake needs this line cmake_minimum_required(VERSION 2.8) # Define project name project(opencv_example_project) # Find OpenCV, you may need to set OpenCV_DIR variable # to the absolute path to the directory containing OpenCVConfig.cmake file # via the command line or GUI find_package(OpenCV REQUIRED) # If the package has been found, several variables will # be set, you can find the full list with descriptions # in the OpenCVConfig.cmake file. # Print some message showing some of them message(STATUS "OpenCV library status:") message(STATUS " version: ${OpenCV_VERSION}") message(STATUS " libraries: ${OpenCV_LIBS}") message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}") if(CMAKE_VERSION VERSION_LESS "2.8.11") # Add OpenCV headers location to your include paths include_directories(${OpenCV_INCLUDE_DIRS}) endif() # Declare the executable target built from your sources add_executable(opencv_example example.cpp) # Link your application with OpenCV libraries target_link_libraries(opencv_example PRIVATE ${OpenCV_LIBS}) ```