编译OpenCV——ubuntu x86_64平台
在x86_64平台上编译得到两个版本的opencv:x86_64和arm64
方式与此博客一样编译OpenCV——jetson嵌入式平台 - 夕西行 - 博客园,区别只有如下几个地方
1、编译x86_64版本时

最终放到/opt/opencv目录里

2、编译arm64版本时


最终放到/opt/opencv_aarch64目录里,以便与本地版本区分开

【测试】
用CLion创建untitled项目测试下,CMakeLists.txt
cmake_minimum_required(VERSION 3.27) project(untitled) set(CMAKE_CXX_STANDARD 17) #生成的可执行程序能够被鼠标双击执行 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -no-pie") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -no-pie") set(CROSS_COMPILE 1) #是否交叉编译,1交叉编译,0普通编译 if (CROSS_COMPILE) #arm编译 set(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc") set(CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++") set(OPENCV_DIR "/opt/opencv_aarch64")#指定opencv路径else() #普通编译 set(CMAKE_C_COMPILER "/usr/bin/gcc") set(CMAKE_CXX_COMPILER "/usr/bin/g++") set(OPENCV_DIR "/opt/opencv") endif () include_directories(${OPENCV_DIR}/include/opencv4) add_executable(untitled main.cpp) target_link_libraries(untitled ${OPENCV_DIR}/lib/libopencv_world.so) set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_LIST_DIR})
main.cpp
#include "opencv2/opencv.hpp" int main() { cv::Mat img=cv::Mat::zeros(200,600,CV_8UC3); cv::putText(img,"Show my text",cv::Point(100,100),cv::FONT_HERSHEY_TRIPLEX,1.5,cv::Scalar(0,0,255),2); cv::namedWindow("title"); cv::imshow("title",img); cv::waitKey(); return 0; }

【参考】
aarch64-opencv341交叉编译,并在arm上部署helloopencv_aarch64 交叉编译器-CSDN博客

浙公网安备 33010602011771号