我是使用OpenCV C ++的新手。是否有可能配置我的VS 2013以将我的项目配置为仅使用*.lib
而不是*.dll
?我不想将任何*.dll
文件添加到我的最终可执行文件中。我听说*.lib
文件在编译时只是插入(抱歉这个词)到这个可执行文件而不是周围的许多*.dll
文件。
我正在关注此manual,特别是在一些 INSTALL 项目的结尾。我从本手册中做了每一步,但是......它不起作用。 (我可以编译测试项目 - here),但它总是说“我找不到*.dll
文件和程序无法运行。”
谢谢。
答案 0 :(得分:4)
您可以尝试静态链接。但是它使得编译的可执行文件更大,并且需要更长的时间将所有部分组装成一个单独的可执行文件。
可以通过设置use shared library(即dll)标志来实现。 cmake -DBUILD_SHARED_LIBS = OFF
答案 1 :(得分:0)
据我所知,没有办法避免使用* .dll文件。另外我猜你正试图从VS2013 GUI运行你的项目。问题是,如果没有单独的配置,可执行文件会在其位置预期所有* .dll文件。
VS在/project/debug/.exe中找到项目的 .exe文件(或发布取决于设置)。
" INSTALL"但是,项目通常会创建一个单独的文件夹,您的项目正在安装"。
因此,您要么将* .dll文件复制到项目的构建文件夹中,要么构建" INSTALL"每次项目并从特定的"安装"开始* .exe。文件夹中。
答案 2 :(得分:0)
我认为你可以设置[Build] - > [BUILD_SHARED_LIBS] - >值未选中