靜態庫,我有以下生成文件如何包括在生成文件
CXXFILES = pthreads.cpp
CXXFLAGS = -O3 -o prog -rdynamic -D_GNU_SOURCE -L./libmine
LIBS = -lpthread -ldl
all:
$(CXX) $(CXXFILES) $(LIBS) $(CXXFLAGS)
clean:
rm -f prog *.o
我想包括內CXXFLAGS
的./libmine
庫,但現在看來似乎是不包括靜態庫的正確方法,因爲當我編譯程序時,出現很多未定義的引用錯誤。那麼實際上在makefile中包含靜態庫的正確方法是什麼?
你能解釋一下這是如何工作的嗎? – Tony 2016-10-26 07:29:13
OP在'gcc'編譯和鏈接行中添加了'-L。/ libmine',但沒有添加'libmine.a'。 '-L。/ libmine'告訴'gcc'查看'./ libmine'目錄來搜索對象文件和庫。添加'libmine.a'告訴'gcc'你想要將你的可執行文件和'libmine.a'庫鏈接起來。 – ouah 2016-10-26 13:07:51
LIBS = libmine.a不適用於-L./libmine。 – fchen 2017-10-08 05:13:05