Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xmake重新安装opencv没输出 #2464

Closed
xiaomi2077 opened this issue Jun 15, 2022 · 8 comments
Closed

xmake重新安装opencv没输出 #2464

xiaomi2077 opened this issue Jun 15, 2022 · 8 comments
Labels

Comments

@xiaomi2077
Copy link

Xmake 版本

xmake v2.6.7+HEAD.93b7245

操作系统版本和架构

Linux nx-desktop 4.9.140-tegra #1 SMP PREEMPT Fri Apr 16 01:50:20 PDT 2021 aarch64 aarch64 aarch64 GNU/Linux

描述问题

通过xmake require --extra="{configs={gtk=true}}" opencv命令安装带gtk的opencv。但是命令没有任何输出,如下图。
image
查看~/.xmake/packages/o/opencv/4.5.5/发现新增有4709...文件夹,但里面是空的。下图中其他三个文件夹是之前编译好的opencv,带gtk和不带gtk。
image
执行xmake f -c,安装命令还是没输出。
image

是不是哪里缓存没有清掉?

期待的结果

顺利安装带有gtk的opencv

工程配置

No response

附加信息和错误日志

No response

@xiaomi2077 xiaomi2077 added the bug label Jun 15, 2022
@xiaomi2077
Copy link
Author

执行xmake l os.arch输出:
image

@waruqi
Copy link
Member

waruqi commented Jun 15, 2022

不要去用 xmake requires 。。全走 add_requires/add_packages 在 xmake.lua 里面统一配置,直接编译

如果要单独管理包,就用 xrepo 命令

@xiaomi2077
Copy link
Author

image
执行xrepo install -f "gtk=true" opencv没输出,但是执行xrepo install -f "gtk=true" opencv有可以正常安装。出现这种问题是不是包的lua脚本写错了?

image
并且我执行命令xrepo info opencv看opencv的编译选项,也有gtk

看输出好像xrepo也是走的xmake require,这两个命令有啥区别吗?

@waruqi
Copy link
Member

waruqi commented Jun 15, 2022

xmake require 目前用于工程内管理有缓存,也会读当前工程 xmake.lua ,通常用户不需要用,走 xmake 编译,内部自动会调用

xrepo 是独立命令,不跟当前工程相关,独立管理包

如果你只是项目中用,通常 xrepo 也不需要用

走 xmake 直接编译就行,xmake.lua里面配置的包,会给你自动装

@waruqi
Copy link
Member

waruqi commented Jun 16, 2022

你先走 add_requires + add_packages 试下,看是否有问题

@xiaomi2077
Copy link
Author

xiaomi2077 commented Jun 17, 2022

我的问题基本解决,下面说下解决思路

我的os.arch=arm64-v8
我的需求:使用opencv显示图片
如何做:使用xmake安装opencv,并指定gtk=true
安装时需要注意的是:
1、opencv依赖gtk,仓库中虽然有gtk的包,但是arm64-v6的不支持。要保证电脑上有gtk+-3.0,可以使用pkg-config gtk+-3.0 --libs --cflags查看。没有安装就apt安一下。如果安装了,输出如下:
image
2、xmake.lua中记得加上libpng包,引用时写在opencv后面,即:add_packages("opencv","libpng")

完整的xmake.lua如下:
image

@xiaomi2077
Copy link
Author

现在问题基本解决了,但是intellisense在第2行画红线,好像找不到这个库,能编译成功。(已在c_cpp_propertiess.jon中指定compileCommand./vscode/compile_commands.json
image
image

如何才能去掉这个红线呢?

@waruqi
Copy link
Member

waruqi commented Jun 17, 2022

参考下 xmake-io/xmake-vscode#40 然后确认 compile_commands.json 是否生成。。如果插件激活,每次 xmake.lua 配置改动,都会自动生成。。

如果生成了,就看下,里面有没有带上 opencv 相关includedir 。。确认路径是否 ok

这里我先 close 了,intelligense 问题可以到 xmake-vscode/issues 下反馈

@waruqi waruqi closed this as completed Jun 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants