编译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博客

posted @   夕西行  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2018-12-03 算法思维的实现——反正切算法
2018-12-03 算法评价
2018-12-03 引用、指针
2016-12-03 Ubuntu中Qt5.7.0的安装及opencv2.4.13配置
2016-12-03 Ubuntu16.04删除客人会话
点击右上角即可分享
微信分享提示