目前要在我的项目 repo 中包含一个自定义静态库,我需要告诉编译器库的完整路径,比如
$(CXX) $(CXXFLAGS) -o $@ $^ ../lib/libnt.a $(LDFLAGS)
但我实际上想添加一个自定义搜索路径以便我可以编写
$(CXX) $(CXXFLAGS) -o $@ $^ -lnt $(LDFLAGS)
反而。那可能吗?我试图指定PATH
环境变量,但这不起作用。
目前要在我的项目 repo 中包含一个自定义静态库,我需要告诉编译器库的完整路径,比如
$(CXX) $(CXXFLAGS) -o $@ $^ ../lib/libnt.a $(LDFLAGS)
但我实际上想添加一个自定义搜索路径以便我可以编写
$(CXX) $(CXXFLAGS) -o $@ $^ -lnt $(LDFLAGS)
反而。那可能吗?我试图指定PATH
环境变量,但这不起作用。
environment var 是用于 shell的PATH
,我不明白为什么你甚至认为它会起作用。请改用-L
链接器标志:
LDFLAGS = ... stuff you put here ... -L/search/path/for/custom/libs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This part
您可以只使用一个简单的 make var 定义。
LIBLDIR = ../lib/
#
#
#
$(CXX) $(CXXFLAGS) -o $@ $^ -L$(LIBLDIR) -lnt $(LDFLAGS)