0

我试图将我的 64 位 C++ 应用程序用于 32 位系统,但在使用 Visual Studio 2008 时遇到了一些问题。

我刚刚在我的 32 位电脑 (Microsoft Windows Xp) 上下载了解决方案,并将 Visual Studio 设置设置为:Debug|Win32

编译阶段没问题,但是如果我尝试运行程序,系统会说:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: C:\wspace4\BioTesi\BioCpp.dll: %1 is not a valid Win32 application

不知何故,系统不会将我的 dll 解释为 32 位。我想我错过了一些 Visual Studio 设置……但是哪个?

如何解决这个问题呢?谢谢!

4

1 回答 1

1

您是否为 32 位和 64 位 dll 和 exe 设置了不同的构建路径?您很可能有一些 64 位输出覆盖了 32 位输出。一些事情要尝试:

  • 从您的版本控制系统中检查一个干净的工作区,这样您就不会有任何意外的项目
  • 打开配置管理器,查看解决方案的 32 位配置实际上是在构建每个项目的 32 位版本
  • 使用 DependencyWalker,如果它们恰好是 64 位,它将显示带有“64”覆盖的 .exe 和 .dll 图标
于 2012-05-23T09:15:07.240 回答