如何使用OpenCV C++中的**.LIB文件代替*.dll 在使用OpenCV C++时,我真的很新。是否可以将我的VS 2013配置为仅使用*.lib而不是*.dll来配置我的项目?我不想在最终可执行文件中添加任何*.dll文件。我听说*.lib文件在编译过程中只会在这个可执行文件中插入sorry for this单词,而不是周围的许多*.dll文件

如何使用OpenCV C++中的**.LIB文件代替*.dll 在使用OpenCV C++时,我真的很新。是否可以将我的VS 2013配置为仅使用*.lib而不是*.dll来配置我的项目?我不想在最终可执行文件中添加任何*.dll文件。我听说*.lib文件在编译过程中只会在这个可执行文件中插入sorry for this单词,而不是周围的许多*.dll文件,c++,opencv,dll,C++,Opencv,Dll,我一直在关注这一点,尤其是在本文的最后,我做了一些安装项目。我做了本手册的每一步,但是。。。它不起作用。我可以编译测试项目-,但它总是说我找不到*.dll文件,程序无法运行 谢谢。据我所知,无法避免使用*.dll文件。另外,我猜您正在尝试从VS2013 GUI运行您的项目。问题是,如果没有单独的配置,可执行文件希望所有的*.dll文件都在它的位置 VS在/project/debug/.exe中查找项目的.exe文件,其版本取决于设置 但是,安装项目通常会在安装项目的位置创建一个单独的文件夹 因此

我一直在关注这一点,尤其是在本文的最后,我做了一些安装项目。我做了本手册的每一步,但是。。。它不起作用。我可以编译测试项目-,但它总是说我找不到*.dll文件,程序无法运行


谢谢。

据我所知,无法避免使用*.dll文件。另外,我猜您正在尝试从VS2013 GUI运行您的项目。问题是,如果没有单独的配置,可执行文件希望所有的*.dll文件都在它的位置

VS在/project/debug/.exe中查找项目的.exe文件,其版本取决于设置

但是,安装项目通常会在安装项目的位置创建一个单独的文件夹


因此,您要么将*.dll文件复制到项目的构建文件夹中,要么每次构建安装项目并从特定的安装文件夹启动*.exe。

据我所知,无法避免使用*.dll文件。另外,我猜您正在尝试从VS2013 GUI运行您的项目。问题是,如果没有单独的配置,可执行文件希望所有的*.dll文件都在它的位置

VS在/project/debug/.exe中查找项目的.exe文件,其版本取决于设置

但是,安装项目通常会在安装项目的位置创建一个单独的文件夹


因此,您可以将*.dll文件复制到项目的生成文件夹中,或者每次生成安装项目并从特定的安装文件夹启动*.exe。

您可以尝试静态链接。但它使编译后的可执行文件更大,将所有部分组装成一个可执行文件所需的时间更长


它可以通过设置use shared Library i.e来实现。dll标志关闭。cmake-DBUILD\u SHARED\u LIBS=OFF

您可以尝试静态链接。但它使编译后的可执行文件更大,将所有部分组装成一个可执行文件所需的时间更长


它可以通过设置use shared Library i.e来实现。dll标志关闭。cmake-DBUILD\u SHARED\u LIBS=OFF

我想你可以设置[Build]->[Build\u SHARED\u LIBS]->未选中的值

我想你可以设置[Build]->[Build\u SHARED\u LIBS]->未选中的值

你说的是静态链接@CanberkBaci谢谢你。这就是我一直在寻找的。你救了我一天;。你说的是静态链接@canberkbac谢谢。这就是我一直在寻找的。你救了我一天;。谢谢,问题在于VS 2013的配置。您是对的,可执行文件的大小增长了约2MB。它能像链接了*.dll的可执行文件一样快吗?@Martej是的。除非您希望在单个可执行文件中发布产品,否则使用dll始终是可取的。它不仅编译速度更快,而且启动速度也更快,因为您正在共享可能已被其他程序加载到内存中的库。谢谢,问题在于VS 2013的配置。您是对的,可执行文件的大小增长了约2MB。它能像链接了*.dll的可执行文件一样快吗?@Martej是的。除非您希望在单个可执行文件中发布产品,否则使用dll始终是可取的。它不仅编译速度更快,而且启动速度也更快,因为您正在共享可能已被其他程序加载到内存中的库。