2011-11-15 56 views

回答

1

如果你的庫是一個只有頭文件的庫(一切都是#included),那麼沒有什麼可以編譯的。編譯器只編譯源代碼(.cpp文件,.c等)。如果你的所有代碼都是模板,如果你的代碼沒有任何.cpp文件,那麼你不會生成任何源代碼。用戶只包含一些標題。

例如,Boost的大部分內容僅爲標題。你只需包含它;你不鏈接到任何它。換句話說,如果你所有的代碼都是內聯的,那麼它們都不是static。所以沒有靜態庫。

+0

+1這聽起來像沒有編譯代碼,所以沒有.lib文件 – Ralf

0

編譯器以與處理.h文件相同的方式處理.inl文件 - 它不會單獨編譯它們。您必須將它們包含在.cpp文件中才能編譯它們。

+0

工程,但導致這個奇怪的警告: 「警告LNK4221:找不到公共符號;檔案成員將無法訪問「 –

相關問題