gpt4 book ai didi

linux - ia32 库的使用

转载 作者:太空狗 更新时间:2023-10-29 11:34:03 26 4
gpt4 key购买 nike

我正在尝试使用从 here 获得的 asmlibrary我在 64 位上运行,但预编译的静态库是为 32 位构建的。我真的不想重新编译库,因为我没有安装 OpenCV 1.0,也不想安装这么旧版本的软件。

我的雇主告诉我,您可以使用 ia32-libs,这样我就可以在 64 位机器上使用该库。我已经使用 apt 安装了这些库。

在我选择的 IDE netbeans 中,我现在正在尝试使用该库。我不断收到消息:

/usr/bin/ld: i386 architecture of input file `../asmlib/libasmlibrary.a(asm_shape.o)' is incompatible with i386:x86-64 output

等等

我有两个问题:

1) ia32-libs 允许我使用这个库吗?

2) 我必须如何“启用”它的使用,通常或最好特定于 netbeans(如果适用)

谢谢

最佳答案

可执行文件(包括它所依赖的库)必须完全是 32 位或 64 位。您不能混合和匹配不同类型的目标文件。

因此,要使用 32 位库,您必须将程序编译为 32 位可执行文件,并链接到 32 位版本的 libc 和其他核心库。在 debian 上,您需要像 libc6-dev-i386 和 ia32-libs-dev 这样的软件包。

要将 foo.c 编译为 32 位可执行文件,请使用

gcc -m32 -o foo foo.c

如何使用 netbeans 执行此操作留作练习。

关于linux - ia32 库的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com