我正在使用VS2010并正在使用此项目。什么会导致C++ .exe和.dll只能在构建它的机器上工作?
http://www.codeproject.com/KB/audio-video/Asio_Net.aspx
起初,我下载的演示二进制,它会崩溃我的机器上。在阅读了一些评论之后,它说要下载源代码,构建它(在获得ASIO SDK之后),它应该可以在你的机器上运行。这是正确的,在VS中构建它之后,在该机器上。
当我将重建的.exe和.dll移动到另一台机器时,它与最初下载的演示二进制文件相同的错误崩溃。所以我不确定会导致这种情况。我如何使这个C++二进制工作在任何机器上?
我是一名C#开发人员,大部分代码都是C++,所以有点不知所措。
顺便说一句,这里是错误消息:
“未处理的异常:System.IO.FileNotFoundException:未能加载文件或驴 embly‘Bluewave.Interop.Asio.dll’或它的一个依赖的。指定的模块无法found.at BlueWave.Interop.Asio.Test.TestConsole.Main(字串[] args)”
编辑:答案在这里找到: http://msdn.microsoft.com/en-us/library/8kche8ah(v=VS.100).aspx
使用的Dependency Walker找到该.dll文件不见了。
是否与EXE或GAC在同一目录中的库的DLL(如果它是.NET库)? – 2011-09-19 13:22:56
异常消息很清晰,你忘了复制DLL吗? –
不会忘记.dll,它与.exe – bulltorious