0
A
回答
2
第一步是找出opencv是否支持靜態鏈接(即,如果您可以鏈接到沒有任何.dll的.lib文件)。大多數圖書館沒有。大多數圖書館都可以通過自定義來支持這一點(並非如前所述微不足道,但可行)。這是一個很大的如果。
但是,假設opencv支持靜態鏈接,則需要將其編譯到.lib(「Type Library」類型的項目)中。然後在使用opencv的項目(輸出類型dll)中,只需鏈接opencv.lib。 幾個注意事項:確保所有項目(包括opencv)都使用完全相同的Unicode設置和「代碼生成」CRT連接(/ MT或/ MTD或/ MD或/ MDD)。
我無法一眼就看到opencv是否支持靜態鏈接。
+1
你*可以*重建OpenCV作爲靜態庫,所以 - 正如你所說 - 你可以在理論上將一切靜態鏈接到另一個DLL或EXE。從我+1。 –
相關問題
- 1. 如何將dll合併爲一個dll
- 2. 如何將所有dll合併爲一個應用程序?
- 3. 將幾個本地DLL合併爲一個DLL
- 4. 使用ILMerge合併多個dll文件到一個dll,一些dll文件不能使用
- 5. 對於所有或多個DLL,哪個更好一個DLL?
- 6. 如何結合第三方DLL與自己的DLL
- 7. 嵌入所有需要的DLL在一個DLL
- 8. 結合了便攜式庫DLL了Windows Phone DLL或WinRT的DLL
- 9. 每個EmguCV DLL所需的所有OpenCV dll的列表
- 10. 合併Win32 C++ dll與託管C++ dll
- 11. 合併兩個DLL使用DLL2LIB
- 12. 如何將多個.cs文件合併爲一個.dll文件?
- 13. 如何將一個.DLL文件合併到我的VB項目
- 14. 合併C#DLL的成.EXE
- 15. 合併.net管理的dll
- 16. 合併dll的winphone 7
- 17. 如何跟蹤使用的DLL(是否所謂的DLL地獄?)
- 18. 如何將dll與對方合併
- 19. DLL在C++中使用另一個DLL
- 20. 如何使用一個DLL從Python的
- 21. 如何創建一個DLL的所有語言
- 22. 使用ILMerge合併dll使用ILMerge
- 23. 如何讓一個DLL延遲取決於另一個DLL?
- 24. 從另一個DLL引用一個DLL
- 25. 從另一個DLL調用一個DLL
- 26. 如何「卸載」一個DLL?
- 27. 瞭如何在一個dll
- 28. 如何爲一個dll
- 29. 合併DLL到PE(修補)
- 30. 程序dll合併和unmerge
簡單。只需將源代碼移植到所有DLL中,並使用它們創建一個DLL項目。缺少http://www.binary-soft.com/dll2lib/dll2lib.htm可能會有所幫助,但該任務不是微不足道的,也不保證是可行的。 – mah
@mah:一般來說不起作用。每個DLL都有自己的'DllMain()',你需要合併它們。這不是一項簡單的任務。 – MSalters
@ MSalters我同意這不是一件簡單的事情,我不知道它是否會起作用,但如果該工具按照預期工作,它可能會起作用。該工具將DLL轉換爲靜態庫(包括處理DllMain,我期望);人們可以轉換多個DLL,然後在理論上用結果構建單個DLL。過去我使用過該工具進行單個DLL轉換,結果混雜。 – mah