大概我在這裏丟失了一些東西,但這是我第一次在Windows上,我需要靜態鏈接一個庫,以便可執行文件不會依賴於dll.I使用LIBPNG。在VC++中靜態鏈接一個庫
我不喜歡這樣寫道:
我加了libpng標題:C/C++ - >附加包含目錄
添加庫目錄的鏈接:鏈接器 - >常規 - > 附加圖書館目錄
新增連接額外的依賴:鏈接器 - >輸入
編譯EXE OK;當調用它我得到:
「程序無法啓動,因爲libpng16.dll從您的計算機 失蹤。」
這意味着libpng沒有編譯到可執行文件中。我如何解決這個問題,沒有reference the whole pnglib project code into my executable project?
錯誤中的「libpng16.dll」表示這是* not *一個靜態庫,但是一個動態鏈接庫。如果你只是將dll複製到與可執行文件相同的文件夾中,你可能會好起來。否則,您需要確保該庫確實支持靜態鏈接,然後將其鏈接到* correct * .lib文件中。 – crashmstr
@crashmstr我不想這樣做。我想將libpng編譯到最終的程序中。 –
我編輯了我的評論,包括一個聲明,你需要確保:1. libpng支持靜態鏈接和2.鏈接到正確的.lib是靜態庫,而不是「指向」DLL的鏈接。 – crashmstr