我有Visual C++ 2008的问题.我已经安装了opencv,我已经创建了一个新程序,我构建它没有错误.但是,它抱怨在调试时没有找到MSVCR90D.dll.在发布模式下,完全没有问题.
我在其中一个Winsxs文件夹中有MSVCR90D.dll.有谁知道这个问题的解决方案?这是一个已知的错误?
杰拉德
我在Visual Studio 2012上使用WPF构建了一个C#应用程序,它使用C++ DLL并以.NET4.5为目标.我有两个项目正在运行,一个用于C#项目,另一个用于C++ DLL项目.我将这两个项目发布到一个文件夹中,该文件夹中有一个.exefor C#和一个.dllfor C++的文件夹.
我在他们开发的机器上运行它们,一切正常.我.exe在其他机器上运行它会抛出此异常:
System.DllNotFoundException:无法加载DLL
它无法识别同一文件夹中的DLL.
我尝试了很多东西,似乎什么都没有用.我在这篇文章中遵循了解决方案但没有任何效果.
开发和目标机器完全相同.在Dev中,安装了Visual Studio 2012,但这是唯一的区别.
[DllImport(@"Wireless.dll", EntryPoint = "?cert_exists@certificate@CertFuncs@@SAHHPBD@Z", CallingConvention = CallingConvention.Cdecl)]
static extern int cert_exists(int store, [MarshalAs(UnmanagedType.LPTStr)]string cert_str);
Run Code Online (Sandbox Code Playgroud)
static int __declspec(dllexport) cert_exists(int type, LPCSTR cert_str);
Run Code Online (Sandbox Code Playgroud)
如果我在目标计算机上安装Visual Studio 2012,一切正常.如果我删除它,应用程序再次崩溃.关于VS添加什么的任何想法可以使应用程序工作?
我试图用一个简单的函数重新创建一个现有的C Win32 DLL.我已经设法使用VS C++ 2008 Express,我的新DLL在我的Vista开发机器和客户端的XP机器上运行.但是,它不适用于其他网站.我检查了依赖项,我的DLL需要MSVCR90D.dll和KERNEL32.dll,其中原始DLL只需要KERNEL32.dll.
什么是MSVCR90D.dll,如何在没有此依赖项的情况下创建简单的Win32 DLL?