我在Linux中安装OpenCV库。如果我运行命令:
echo $(pkg-config --libs opencv)
但如果我从MAKEFILE中运行它:
all:
@echo 1
@echo $(pkg-config --libs opencv)
@echo 2
答案 0 :(得分:3)
您在shell命令中忘记了shell
:https://www.gnu.org/software/make/manual/html_node/Shell-Function.html
试试这个:
@echo $(shell pkg-config --libs opencv)
有了它,你打印了一个名为pkg-config
的变量的值(或类似的东西)。
答案 1 :(得分:1)
make
不是shell,语法不同。您可能希望让Makefile回显在shell中运行pkg-config
的结果,因此:
all:
@echo 1
@echo $(shell pkg-config --libs opencv)
@echo 2
答案 2 :(得分:0)
最简单和正确的方法是
all:
@echo $$(pkg-config --libs opencv)
使用shell
makefile函数是不必要的,并且实际上并没有纠正OP代码的错误。