我在Linux中安裝OpenCV庫。如果我運行命令:Linux MAKEFILE訪問環境變量
echo $(pkg-config --libs opencv)
但是,如果我從生成文件運行這樣的:
all:
@echo 1
@echo $(pkg-config --libs opencv)
@echo 2
我在Linux中安裝OpenCV庫。如果我運行命令:Linux MAKEFILE訪問環境變量
echo $(pkg-config --libs opencv)
但是,如果我從生成文件運行這樣的:
all:
@echo 1
@echo $(pkg-config --libs opencv)
@echo 2
你忘了在你的shell命令shell
:https://www.gnu.org/software/make/manual/html_node/Shell-Function.html
試試這個:
@echo $(shell pkg-config --libs opencv)
有了它,你打印一個名爲pkg-config
變量(或類似的東西)的值。
make
不是shell,語法不同。你可能想擁有的Makefile迴響在一個shell中運行pkg-config
,這樣的結果:
all:
@echo 1
@echo $(shell pkg-config --libs opencv)
@echo 2
要做到這一點,最簡單的和正確的方法是
all:
@echo $$(pkg-config --libs opencv)
使用shell
生成文件的功能是不必要的,實際上並不能糾正OP代碼的錯誤。
請複製並粘貼終端命令並輸出,而不是使用屏幕截圖。 – Cornstalks