我使用C#中的自己的dll文件創建應用程序。使用在類庫中打開簡歷
我想創建使用Open CV的類庫。我必須添加對項目的引用 - Emgu.CV.dll和Emgu.Util。沒關係,但OpenCV也需要額外的dll文件,例如「opencv_calib3d231.dll」等。當我想使用OpenCV運行一些Projet時,它們必須位於Debug文件夾中。
但是如果我想在我自己的類庫中使用OpenCv呢?我在哪裏必須把這個額外的dll文件?
任何想法如何解決這個問題?
我使用C#中的自己的dll文件創建應用程序。使用在類庫中打開簡歷
我想創建使用Open CV的類庫。我必須添加對項目的引用 - Emgu.CV.dll和Emgu.Util。沒關係,但OpenCV也需要額外的dll文件,例如「opencv_calib3d231.dll」等。當我想使用OpenCV運行一些Projet時,它們必須位於Debug文件夾中。
但是如果我想在我自己的類庫中使用OpenCv呢?我在哪裏必須把這個額外的dll文件?
任何想法如何解決這個問題?
你不能自己執行一個類庫:最終一個類庫將總是(間接)被某個可執行程序使用。你必須確保你的類庫的依賴可以通過說可執行文件中找到,例如通過將它們放在該可執行文件所在的目錄。
所以,如果你有一個可執行的項目(項目A)和類庫(項目B)由具有本機依賴項的可執行項目使用,如opencv_calib3d231.dll,只需確保本地依賴項在運行時位於項目A的目錄中即可。
如果您正在開發一個在其程序中被其他開發人員使用的類庫,則應該將類庫的依賴關係與庫分發(或者至少提供有關如何獲取文檔中的依賴關係的說明) 。然後他們可以確保操作系統可以在加載類庫時找到依賴關係。