2016-08-12 140 views
0

我在Linux中安装OpenCV库。如果我运行命令:Linux MAKEFILE访问环境变量

echo $(pkg-config --libs opencv) 

结果如下: enter image description here

但是,如果我从生成文件运行这样的:

all: 
    @echo 1 
    @echo $(pkg-config --libs opencv) 
    @echo 2 

没有什么是打印出来,发生了什么? enter image description here

+1

请复制并粘贴终端命令并输出,而不是使用屏幕截图。 – Cornstalks

回答

1

make不是shell,语法不同。你可能想拥有的Makefile回响在一个shell中运行pkg-config,这样的结果:

all: 
    @echo 1 
    @echo $(shell pkg-config --libs opencv) 
    @echo 2 
0

要做到这一点,最简单的和正确的方法是

all: 
    @echo $$(pkg-config --libs opencv) 

使用shell生成文件的功能是不必要的,实际上并不能纠正OP代码的错误。