在linux上运行需要opencv库的程序+终端中文乱码问题解决(程序文件编码修改)

39 篇文章 1 订阅

一门课程大作业需要使用opencv调用相关函数实现

但是我的笔记本没安装VS

机房电脑虽然安装了VS但是没安装opencv

安装过opencv的朋友们应该知道配置opencv有多么痛苦了吧

因为我已经在ubuntu上安装过了opencv

于是我使用了linux系统来运行opencv程序

~so easy!!

运行流程

新建一个文件夹,我的程序文件只有一个main.cpp
当然如果你包含其他头文件,配置方法要稍微难些,你可以查看我的这篇文章来看看如何写CMakeList来包含头文件

这里为了方便,我把头文件函数啥的全部写在了一个cpp文件里,这样就可以简单点拉

请添加图片描述
把我的数据文件放在了data文件夹里

在执行时将OpenCV的库包含进去,可以使用如下命令进行编译:运行:

g++ `pkg-config opencv --cflags` main.cpp  -o opencv `pkg-config opencv --libs`

问题1

出现了void main()必须要有返回值的问题
因此把这句话改成int main(void)
就可以解决了

请添加图片描述
所有的return都必须带上值,改为
return 0;

运行成功之后会出现一个opencv文件
运行该文件

./opencv

弹出
请添加图片描述发现居然乱码了

问题2

我的系统是支持中文的,但是这里出现问题,可以知道肯定是程序文件编码出现了问题

这里需要查看一下文件编码
这里借鉴的是这位大佬的一部分内容
请添加图片描述
查阅了资料,发现file方法不准确,跟vim方法结果不一样
我使用vim方法查询出来是这样的
请添加图片描述用file方法查询结果是这样

请添加图片描述

本想用vim方法修改编码,但失败了,iconv方法得查询之前的编码,有些麻烦
请添加图片描述

这篇文章讲的更简单

最后我用我自己的方法解决了这个问题

解决编码问题

找一个中文可以显示的cpp文件,拷贝过来,把里面的内容换成自己的就完美解决啦!
换个壳子~

最后重新g++一下,请添加图片描述
成功运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laney_Midory

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值