Visual Studio 2013将64 DLL文件强制转换为32位应用程序 - 如何解决此问题?

时间:2014-07-15 14:26:16

标签: c++ opengl visual-studio-2013

编辑:

所以,我使用依赖walker摆弄了一些,并遇到了令人难以置信的令人沮丧的事实:Visual Studio已经强制将64位DLL(msvcr120.dll / msvcp120.dll / glu32.dll)放入程序中。我试图从我的链接器设置中删除所有库并发送一个空文件(int main {return(0);}),但它仍然强制它,给我我的错误。

这基本上意味着,无论我编译什么 - 无论我编译什么,字面意义 - 程序将无法在其他计算机上运行。它也不应该在我自己的计算机上运行。

如何解决这个问题?

编辑结束。

问题如下:程序在我自己的PC上编译并运行无错误。 (Windows 7 64位,程序为32位)

然而,只要我将它转移到我的兄弟PC(Windows 8 64位)和我的朋友计算机上,我的操作系统不知道,程序就会返回以下错误:(0xc000007b)。

所以,我搜索了互联网寻找解决方案,我偶然发现了依赖步行者。在这里,我发现了一些奇怪的错误,表明我的DevIL太旧了,所以我相信。

DepWalker1 DepWalker2

所以我试图弄清楚如何手动编译DevIL以便从MSVCR80升级到120 - 但无济于事。

所以,问题是 - 如何通过VS2013 32bit手动编译DevIL?

一个侧面问题肯定是:我的问题是什么?

1 个答案:

答案 0 :(得分:0)

我弄清楚出了什么问题。

当我将程序发送给我的朋友时,我手动发送DLL文件。我不知道system32和sysWOW之间的位差异,所以我只是从system32发送一些DLL文件,不知道它们是64位。

AKA:仅从system32或sysWOW发送DLL文件,因为它们不共享相同的位类型。 (sysbit用于32位,system32用于64位)