0
爲Makefile我一直在使用數據庫生成文件項目/數據庫/ Makefile中這樣如何鏈接靜態庫在Linux
rm -rf libdatabase.a
database.o: database.cpp database.h
g++ -c -o database.o database.cpp
ar rvs libdatabase.a database.o
if [ -f libdatabase.a ];
then
echo "Database-Library Build Success"
cp libdatabase.a ../LIBs/
else
echo "databse-Library Build Failure"
fi
的話,我會先與主make文件鏈接項目/創建一個靜態庫主/ Makefile中這樣
rm -rf testdate
INCPATH = -I../database
LIBPATH = -L../LIBs
testdate:main.o libdatabase.a
g++ -o testdate libdatabase.a main.o
main.o: main.cpp database.h
g++ -c -o main.o main.cpp
但像它的投擲的錯誤: 化妝:*沒有規則,使目標database.h', needed by
main.o'。停止。
讓一些coluld幫我解決這個問題。我是linux新手。
感謝您的回覆其工作正常,我有一個問題,更ücolud一次,請檢查一下 – Jeggu
您應該打開一個新的SO問題,如果你有一個不同的問題。這個錯誤意味着你已經列出了文件'database.h'作爲先決條件,但是make找不到那個文件。它存在嗎?它在其他目錄嗎? Make不能猜測你的文件系統在哪裏,所以如果你編寫'database.h' make會在當前目錄下查看,如果不存在則會失敗。 – MadScientist