[英]Is it possible to use an environment variable in a pkg-config.pc file?
我正在嘗試使用將安裝在$(LIBDIR)/foo/
中的庫libfoo.so
,其中$(LIBDIR)
是一個環境變量,可以根據構建設置而有所不同。
為了讓其他組件正確鏈接到這個庫,它們需要設置正確的 LDFLAGS,即需要設置-L$(LIBDIR)/foo -lfoo
。 為了使它更通用一點,我想將一個 libfoo.pc 文件添加到 libfoo 並設置這些標志。 我的文件目前有以下內容:
Name: libfoo
Description: Example library
Version: 1.0.0
Libs: -L$(LIBDIR)/foo -lfoo
我使用 libfoo 的其他組件具有以下簡化的 makefile:
all:
$(CC) bar.c -o out $(shell pkg-config --libs libfoo)
pkg-config 正確找到了該庫,但運行make
會出現以下錯誤:
$ make
cc bar.c -o out -L$(LIBDIR)/foo -lfoo
/bin/sh: LIBDIR: command not found
換言之, $(LIBDIR)
不會擴展為設置為環境變量的值。 是否可以在 .pc 文件中使用環境變量或 makefile 變量?
看起來在pkg-config.pc
文件中使用環境變量是不可能的。
作為一種解決方法,我將改為在.pc 文件中添加一個前綴變量,該變量在我的bar
組件編譯之前由腳本填充或覆蓋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.