我試圖使用依賴於OpenCV的Visual Studio 12社區構建DLL。在Visual Studio中構建DLL時使用靜態庫
我想包含OpenCV作爲.lib文件,所以我不必單獨分發它,但我需要將我的文件構建爲DLL。
但我無法配置Visual Studio將一個庫導入到DLL中。如果
我的項目 - >屬性 - >配置屬性 - >常規 - >配置類型,
我選擇 「靜態庫(.LIB)」,並於:
我的項目 - >屬性 - >配置屬性 - > VC++目錄 - >庫目錄,
我選擇的路徑,OpenCV的.lib文件,並在
我的項目 - >屬性 - >配置屬性 - >鏈接器 - >添加依賴
我添加了對每個.lib的引用,它的工作原理。
但是,如果我改變配置類型做「動態鏈接庫文件(.dll)」時,Visual Studio告訴我:
opencv_highgui2410d.lib(window.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in VectorsImport.obj
看來我只能讓.lib文件具有.lib文件。但這似乎不太可能。我已經看過這個了,但我只找到關於如何製作.lib文件或.dll文件或其他文件的指南。這一定很簡單,但我無法弄清楚。我習慣於Linux,其中一個.o可以很容易地包含在.so中。這讓我感到困惑。
從錯誤中,opencv.lib用於動態鏈接,您應該使用動態鏈接。 – Matt