对内存位置DLL的访问无效

时间:2017-01-05 13:45:17

标签: c++ dll windows-runtime

问题在于: 我正在开发一个项目,其中包含一个静态库a.lib,一个独立的可执行文件a.exe和一个DLL a.dll。 DLL和可执行文件都链接到静态库a.lib,它们只是从这个库中包装代码(对于info,这是一个开发工具,可执行文件是该工具的独立版本,DLL应该是从Unity Engine加载以在引擎中使用此工具。)

可执行文件正常工作。 但是,只要我在DLL的代码中声明:(并且没有别的)

myLib::A InstanceOfA; // class implementated in a.lib

加载DLL时遇到错误无效访问内存位置。 (如果上面的代码被注释,则DLL被加载并正确执行)

我已根据其他帖子的推荐检查了UAC,但没有成功。

问题似乎显然来自静态库中的代码,它必须在某些时候执行一些非法的东西。但是我没有足够的信息来开始调试。

请注意,即使正确加载并执行DLL(即我在上面注释代码时)依赖性walker也会发现以下依赖项丢失(所以理论上它不应该是此问题的根源,对吧?)

  • API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
  • DCOMP.DLL
  • IESHIMS.DLL

我找不到正确链接到这些DLL的方法。我努力了!!! :'(

有没有找到更多信息来解决这个问题?

(我在Win7上使用VS2015)

0 个答案:

没有答案