当前位置: 首页 > 面试题库 >

强制gcc在64位平台上编译32位程序

慎建本
2023-03-14
问题内容

我有一个专有程序,试图在64位系统上使用。

当我启动安装程序时,它可以正常运行,但是在尝试更新自身并编译一些模块之后,它无法加载它们。

我怀疑这是因为它正在使用gcc,而gcc试图将它们编译为64位系统,因此该程序无法使用这些模块。

是否有任何方法(一些环境变量或类似的东西)强制gcc为32位平台执行所有操作。32位chroot可以工作吗?


问题答案:

您需要使GCC使用该-m32标志。

您可以尝试向您的脚本编写一个简单的shell脚本$PATH并将其命名为gcc(确保您不覆盖原始gcc,并确保新脚本早于出现$PATH,并且使用了指向GCC的完整路径。

我认为您需要的代码就像是/bin/gcc -m32 $*取决于您的shell一样(在$*那里可以包含所有参数,尽管可能还有其他东西-非常重要!)



 类似资料:
  • 问题内容: 我有用32位汇编语言编写的程序…现在,我无法在64位OS上对其进行编译。在我们学校,它们是特定的,程序必须以32位版本编写。这是我的程序: 任何的想法?我尝试了很多方法来编译它。编译后输出错误: 输出: 问题答案: 首先将更改为并将符号更改为,然后使用链接目标文件,该文件将自动链接至该文件, 您需要这样做,因为AFAIK如果没有,就无法链接至libc。另外,在汇编时也应使用elf32而

  • 问题内容: 是否有可能编译项目在 32位 与和一对 64位 系统?可能是,但是我该怎么做呢? 当我以“无知”的方式尝试它时,没有设置任何参数/ flags / etc,只是设置在其中查找链接的库似乎忽略了它,而只查看名为 lib64的 子目录。 问题答案:

  • 问题内容: 加载win32com时出错:java.lang.UnsatisfiedLinkError:C:\ Program Files \ Java \ jdk1.7.0_51 \ jre \ bin \ win32com.dll:无法在AMD 64位平台上加载IA 32位.dll 当我使用一个项目向手机发送短信时,出现上述错误。我有一台装有AMD处理器的机器。请通过描述性回答帮助我。非常感谢

  • 当我使用一个项目发送短信到电话,我得到以上错误。我有一台AMD处理器的机器。请用描述性的回答来帮助我。多谢!

  • 问题内容: 因此,标题中的问题是,我需要在32位Windows XP的系统上的Tomcat中运行我的服务器应用程序,我正在Eclipse的64位Windows 7上工作和编译。如何将其编译为32位,我需要做什么?我假设在64位计算机上编译它时,它不能在32位Windows上运行? 问题答案: Java不会构建32位或64位应用程序-字节码可在不同的位体系结构之间移植。 唯一的例外是您可能在代码中使

  • 问题内容: 系统:Win 7 64位 JMF通过启动JMstudio在我的系统上工作,它找到我的驱动程序并启动我的麦克风和网络摄像头。但是,当我运行Netbeans代码时,它不起作用。 我已在此网站上按照以下步骤在Win 7 64位上安装JMF,但未成功:https : //forums.oracle.com/thread/2134405。我搜索了与此问题相关的所有其他答案,但均未成功。如我在此处