我正在尝试使用Visual Studio 12 Community构建一个依赖于OpenCV的DLL。
我想将OpenCV包含为.lib文件,这样我就不必单独分发它,但我需要将我的文件编译为DLL。
但是我无法配置Visual Studio将lib导入到DLL中。如果在
我的项目->属性->配置属性->常规->配置类型,
我选择“静态库(.lib)”,并且在:
我的项目->属性->配置属性->VC++目录->库目录,
我选择指向OpenCV .lib文件的路径,并且在
我的项目->属性->配置属性->链接器->其他依赖项
我添加对每个.lib的引用,它可以正常工作。
但是如果我更改配置类型为“动态库(.dll)”,Visual Studio会告诉我:
我想将OpenCV包含为.lib文件,这样我就不必单独分发它,但我需要将我的文件编译为DLL。
但是我无法配置Visual Studio将lib导入到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 中。这让我困惑。