在Visual Studio 2015中编译的DLL会引发0xc000007b错误

时间:2015-09-22 13:48:57

标签: c++ visual-studio dll visual-studio-2015

它让我发疯了。我想创建一个基本的DLL钩子(用于严格的信息目的等)

我的程序是32位,所以我正在编译的DLL。

所以我在Visual Studio 2015中创建了空DLL项目(只是为了检查我的程序是否选择了它)并将“output filename”设置为dinput8.dll

编译后,当我的程序尝试加载此DLL时,它会抛出

  

应用程序无法正确启动(0xc000007b)。单击“确定”关闭“应用程序”

是的,我已经安装了64位和32位版本的VC ++ Runtime 2015.更奇怪的是,在Code :: Blocks(MinGW)中编译时,相同的DLL代码工作正常

1 个答案:

答案 0 :(得分:0)

好的,经过大量的研究后发现,问题在于我注入的DLL是一个假人,并没有任何出口。看起来至少需要一次导出,所以我做了一个虚拟导出

extern __declspec(dllexport) void dummyExp();

....
void dummyExp()
{
}

现在一切正常。