编译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博客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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删除客人会话