linux -/usr/bin/ld : skipping incompatible foo. 所以在搜索 foo 时

标签 linux gcc x86 32bit-64bit vlfeat

我正在使用 Ubuntu 13.10 64 位,在编译 vlfeat 库的 python 包装器时出现以下错误。

g++ -o _vlfeat.so ../../vl/aib.o ../../vl/generic.o ../../vl/hikmeans.o ../../vl/ikmeans.o ../../vl/imopv.o ../../vl/mathop.o ../../vl/pgm.o ../../vl/rodrigues.o ../../vl/stringop.o ../../vl/getopt_long.o ../../vl/host.o ../../vl/imop.o ../../vl/imopv_sse2.o ../../vl/mser.o ../../vl/random.o ../../vl/sift.o ../../vl/dsift.o mser/vl_erfill.o mser/vl_mser.o sift/vl_sift.o sift/vl_dsift.o sift/vl_siftdescriptor.o imop/vl_imsmooth.o misc/vl_binsum.o kmeans/vl_hikmeans.o kmeans/vl_ikmeans.o kmeans/vl_hikmeanspush.o kmeans/vl_ikmeanspush.o py_vlfeat.o -m64 -msse -m32 -msse -shared  -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../libboost_python-mt-py27.so when searching for -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../libboost_python-mt-py27.a when searching for -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/libboost_python-mt-py27.so when searching for -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/libboost_python-mt-py27.a when searching for -lboost_python-mt-py27
/usr/bin/ld: cannot find -lboost_python-mt-py27
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.a when searching for -lm
/usr/bin/ld: cannot find -lm
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.a when searching for -lc
/usr/bin/ld: cannot find -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
make: *** [_vlfeat.so] Error 1

有什么解决方案可以使这个库在 64 位架构上工作?

最佳答案

删除命令行标志中的 -m32

要使用 32 位二进制文​​件构建,您必须安装

sudo apt-get install gcc-multilibsudo apt-get install ia32-libs-dev

关于linux -/usr/bin/ld : skipping incompatible foo. 所以在搜索 foo 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16927885/

相关文章:

linux - Ubuntu 找不到 pthread 库

c++ - gcc中的可变长度数组

c - 当程序使用自定义入口点(使用 gcc 7.4.0)运行时,scanf 会产生段错误

x86 - 对程序的更改。 IDA反汇编器

c++ - 测试 AVX 寄存器是否包含一些相等的整数

linux - 使用 pfsend 丢包的原因是什么

linux - C++11中的并发问题

linux - 无法通过 ssh 在 x11 窗口中打开远程桌面

ruby - 无法使用 RVM 在 Lion 下安装 Ruby – GCC 问题

linux - 是否有在 NASM 中生成文本文本文件作为输出的程序示例?