我有一个从源代码编译的DLL(gdal)。我有一个简单的C ++ Win32控制台项目,有一个源文件,但我想链接到该DLL。目前,当我尝试运行该项目时,它正确编译,但表示它无法找到DLL。如果我将DLL移动到与DLL相同的目录,exe将运行。有没有办法让我的输出EXE包括DLL,这样我就可以将一个文件移动到另一个系统并运行它而无需使用exe发送DLL。
如何在VS2010中实现这一目标?
答案 0 :(得分:0)
除非您拥有.dll的原始源代码,重新编译为静态库(.lib),然后静态链接到它,我不相信有一种方法可以在可执行文件中“包含”动态链接库
答案 1 :(得分:0)
您需要路径中的DLL或当前目录中的应用程序才能运行。这就是DLL的工作原理。
使用静态库,链接会将库代码嵌入到您的应用程序中。如果您不能或不想让DLL可用,您可以将DLL更改为静态库。
答案 2 :(得分:0)
由于您是从源代码编译它,您只需将源文件添加到项目中并将其构建到您的可执行文件中。
答案 3 :(得分:0)
您可以在Visual Studio项目中创建一个构建后事件,该项目运行脚本以将DLL复制到可执行文件的路径。
然后,当您部署应用程序时,安装程序将能够为您处理DLL管理。