當我使用Visual Studio時,我的可執行文件取決於微軟的可再發行組件包 - 部署MS的運行時DLL的軟件包。這對我來說很煩人。如果我使用MinGW,我的可執行文件會有什麼不利影響?我應該使用MinGW for C++/CMake項目來最小化MS的DLL的依賴關係嗎?
我也想嘗試鏈接libGavcodec/avformat,這是由MinGW構建的,我沒有自己的思想力量在src中構建它們。
當我使用Visual Studio時,我的可執行文件取決於微軟的可再發行組件包 - 部署MS的運行時DLL的軟件包。這對我來說很煩人。如果我使用MinGW,我的可執行文件會有什麼不利影響?我應該使用MinGW for C++/CMake項目來最小化MS的DLL的依賴關係嗎?
我也想嘗試鏈接libGavcodec/avformat,這是由MinGW構建的,我沒有自己的思想力量在src中構建它們。
如果使用MinGW,您將依賴與mingw一起發貨的DLL。將一個供應商更換爲另一個並不是什麼大不了的事情。
如果您已經有MS項目,評審可能性靜態鏈接庫,MS(它是選項是爲一些的VisualStudio項目對項目的選擇創建時間)
你可以使用MinGW靜態鏈接的一切。使用-static
鏈接器標誌。
不需要重新分配任何DLL,但是你必須確保在C++中,沒有異常通過DLL邊界傳遞(所以確保每個C++庫在這種情況下都是靜態鏈接的)。
我也想嘗試鏈接libGavcodec/avformat,這是由MinGW建立,我沒有意識的權力,從頭開始建立他們從src。 – pavelkolodin
您無法爲MSVC靜態構建avcodec和avformat。 – rubenvb