我迷失在這裏,我不知道如何繼續。這不是關於如何使我的程序工作的問題,這是一個關於如何停止浪費我的時間的問題。我應該怎樣處理我的C++項目所依賴的dll?
我的編程環境是使用C++的windows上的Visual Studio 2013。
我使用3個庫廣泛,即:增壓(使用動態鏈接),OpenCV的,和Qt。
在開發過程中,我已經配置VS默認查看這3個庫,包括include和.lib。我還將包含所有dll的3個文件夾添加到我的PATH環境變量中。
它的工作原理,但它有時是痛苦的,讓我解釋你什麼時候。
首先麻煩:每當我有一個LNK錯誤告訴我,我錯過一個功能,它通常在OpenCV的是,因爲它只有一個包含文件中引用的所有功能。我必須看OpenCV的源代碼,看看這個函數屬於哪個模塊,並且知道我的程序必須鏈接到什麼模塊。
二無死角:當涉及到部署應用的時候,我與所有相關的DLL出貨。爲了知道我需要哪一個,我打開了依賴者步行者,並儘量不要忘記,然後我在另一臺計算機上測試它,因爲102%的時間我錯過了一對,然後我必須配置我的安裝程序生成器以包含所有那些一個一個。
三無死角:爲了緩解一點點配置一個新的發展機的過程中,我最近切換到的NuGet。這很棒,我通過幾次點擊就可以爲任何項目添加提升。但現在我的升級DLL是無處不在,每個boost庫有一個文件夾,並且因爲有很多這些我甚至不能一次將它們全部添加到我的PATH中,所以我必須手動將它們移動到適當的位置文件夾,這是真的不是我想要用我做的不那麼貴重,但是,誰 - 是 - 你對法官的時間
我已經環顧四周,找不到什麼好關於這個問題的做法,可能是因爲它們太明顯,或者對特定設置太具體。
如何你嗎?如果你是me,你會怎麼做?