我想知道究竟是什麼以及它們如何相互關聯(最重要的是,如何安裝它們)。C++,Visual Studio 2012,LIB,DLLs,Includes,Source和Linker
從我讀過,LIBS是我的項目的編譯和的DLL是我的項目運行期間鏈接庫中鏈接庫。
所以對我來說使用LIB,我必須有實際的.lib文件的地方在我的電腦,去項目 - >屬性 - >VC++目錄和路徑添加到文件在庫目錄,並在此之後我得去鏈接 - >輸入 - >附加依賴在裏面添加的.lib名字,最後我需要鍵入的#include我C頌歌,對嗎?
因此,一些問題:
當我完成和建立我的程序的發佈,將在目標平臺已經安裝在他們的電腦上的.lib以及.exe文件只運行?如果是,我需要執行哪些步驟來確保.lib與.exe一起使用?
當我得到一個開源項目的來源,如果我(使用添加現有項...)將它們添加到我的項目,我能使用的#include,就好像這些文件都是我用它們並且它將與安裝.lib一樣?或者我需要安裝.lib文件並仍然使用這些源文件?
我有一個項目使用OpenGL和我聯繫到glew32.lib,但我沒有lib或在VC++目錄添加任何新的目錄,所以我想這意味着我意有所指將.lib安裝在系統文件夾或Visual Studio不會要求其他目錄的地方,我應該在發佈項目時擔心這個問題嗎?
上述問題如何與DLL相關聯,並且有什麼理由爲什麼我應該使用DLL來通過LIB或其他方式?
我開始使用越來越多的圖書館,我發現我剛纔拖動,複製及包括它無處不在,所以我可以使用他們,但從來沒有真正瞭解他們是如何「適應」項目。尤其是當它們提供了這麼多的文件,我真的不知道如何處理它們做那些開源庫...
關於#4,我設法編譯OpenAL和freealut(兩個開放源代碼庫),它們也編譯了一個.DLL,如果我只在我的項目中鏈接/添加文件夾,它表示項目不能因爲計算機中缺少LIBRARY.DLL,因此請啓動它。這是否意味着我必須以某種方式將這些.DLL與我的.EXE一起發送?我設法通過將.DLL放入Windows/sys32和sys64文件夾來啓動該項目,但是有沒有辦法將它們放在項目文件夾中? – Danicco
您可以將它們放在EXE文件的相同文件夾中或System32或Windows文件夾中,不要擔心,將它們放在EXE文件的相同文件夾中,它將起作用 –