Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在visual studio 2010 C+中使用所需的.dll和lib(opencv)文件制作.exe文件包+;_C++_Visual Studio 2010_Opencv_Dll_Package - Fatal编程技术网

C++ 如何在visual studio 2010 C+中使用所需的.dll和lib(opencv)文件制作.exe文件包+;

C++ 如何在visual studio 2010 C+中使用所需的.dll和lib(opencv)文件制作.exe文件包+;,c++,visual-studio-2010,opencv,dll,package,C++,Visual Studio 2010,Opencv,Dll,Package,我已经创建了一个opencv项目,其中包括在项目属性中包含opencv头文件、*.lib和*.dll文件的路径,以及我在.cpp中创建的opencv头文件的硬编码路径。假设我需要将此项目交给客户,因此我只需要直接在客户系统中提供执行的.exe文件 所以,请任何人帮助我如何做包装路径的.dll和.lib随着我的项目.exe文件。或者是否有其他方式可以将.exe文件发送给客户,该文件包括所有可以执行opencv的文件以及客户系统中的逻辑文件 提前感谢,分享答案总是值得欣赏的 对您正在使用的所有内容使

我已经创建了一个opencv项目,其中包括在项目属性中包含opencv头文件、*.lib和*.dll文件的路径,以及我在.cpp中创建的opencv头文件的硬编码路径。假设我需要将此项目交给客户,因此我只需要直接在客户系统中提供执行的.exe文件

所以,请任何人帮助我如何做包装路径的.dll和.lib随着我的项目.exe文件。或者是否有其他方式可以将.exe文件发送给客户,该文件包括所有可以执行opencv的文件以及客户系统中的逻辑文件


提前感谢,分享答案总是值得欣赏的

对您正在使用的所有内容使用相对路径并随附(如果允许,请先检查许可证!!),或者如果您需要向用户提供源代码(作为VS解决方案),并且您不能/不想硬编码工具用于生成解决方案文件的路径

如果您需要将二进制文件与可执行文件打包在一起(但仍然允许),您可以使用安装程序打包应用程序,如

您需要确保应用程序所需的每个依赖项都已交付,否则您的客户将无法运行您的软件。要查找Win环境中的依赖项,请尝试使用visual studio每个副本附带的依赖项工具

作为旁注:您不应该在include指令中放置完整的绝对路径,例如

#include "C:\mysystem\helloworld\app\opencv\header.h"

因为在部署或重新分发源代码时,这肯定会导致编译问题或不必要的预处理。这不适用于二进制文件:它们只需要找到所需的编译依赖项/工具。

VisualStudio 2010不提供C++的包创建。 在我看来,你必须使用第三方软件,如
[高级安装程序]
谁搜索所需的
dll
和 提供给我们以创建安装程序包

对于标题中包含的路径

如果您有一个
.exe
,那么运行应用程序并不重要


希望这能对您有所帮助。

您想分发二进制文件(exe)还是项目(code/sln/vcproj)?“我有硬编码的头文件路径”-哎哟。这听起来像是一个完全的SokkHo.嘿@贝拉克,我需要发送.exe文件,硬代码意味着把OpenCV的头包含在我的.C++文件中。如果你只需要给你的客户一个可执行文件,那么为什么你要包括静态库文件(.LIB)?在构建过程中,可执行文件使用的任何编译代码都应该从静态库中自动链接。嘿@JBentley,这并没有发生,build.exe文件并没有自动包含(链接)所有这些库和dll。嘿,谢谢你的回复,yea@Marco当然,我不想向我的客户展示我的源代码。关于路径硬编码,在我的C++文件中。我需要给出opencv(开源库)头文件的路径。我试图通过将头文件、.lib和.dll放在project的debug文件夹中进行构建,但它对我不起作用。例如,我的.exe文件没有包含上述所有文件。编译完后,你能运行你的应用程序吗?你会遇到什么错误?我可以在我的系统中运行,因为我已经在我的电脑中安装了opencv,并且存在的*.dll可以拾取并运行。但是当我尝试在我的朋友电脑上安装(它不包含安装的opencv)时,它不起作用。。然后,您需要与可执行文件一起部署所需的所有openCV DLL。使用Dependence查找工具查找这些内容,并将其与应用程序一起发布。