运行“make”命令时出现错误信息:/usr/bin/ld: 输入文件的 i386 体系结构与 i386:x86-64 输出不兼容

运行“make”命令时出现错误信息:/usr/bin/ld: 输入文件的 i386 体系结构与 i386:x86-64 输出不兼容

我无法通过在 i386 机器上先前构建的树中运行 make 命令来创建可运行的可执行文件。我收到以下形式的错误消息:

me@me-desktop:~$  make
/usr/bin/ld: i386 architecture of input file `../.. /Lib/libProgram.a(something.o)' is incompatible with i386:x86-64 output

我已被告知并确信该程序已在 64 位 Fedora 上测试并成功编译。

我正在运行一台 64 位机器

me@me-desktop:~$  uname -m
x86_64

我正在运行 Ubuntu 10.04

me@me-desktop:~$  lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 10.04.3 LTS
Release:    10.04
Codename:    lucid

我正在使用 g++

# me@me-desktop:~$ g++ --version
g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

我也在使用 libtool

# me@me-desktop:~$ libtool --version
ltmain.sh (GNU libtool) 2.2.6b
Written by Gordon Matzigkeit <[email protected]>, 1996

有任何线索表明发生了什么问题吗?

答案1

有以下几种可能性:

  • 需要在 make 之前运行 ./configure(如果从 386 机器复制过来)
  • 需要运行 ./autogen.sh(如果从版本控制中检出时没有给出配置脚本)

相关内容