Qt 将32位库包括到现有的64位应用程序中
我有一个现有的64位qtlinux项目(C/C++),现在我想添加额外的硬件。不幸的是,硬件供应商提供的SDK只有32位二进制C.so 仅包含库会导致如下错误:Qt 将32位库包括到现有的64位应用程序中,qt,gcc,32bit-64bit,Qt,Gcc,32bit 64bit,我有一个现有的64位qtlinux项目(C/C++),现在我想添加额外的硬件。不幸的是,硬件供应商提供的SDK只有32位二进制C.so 仅包含库会导致如下错误: /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /home/SDK/lib when searching for -example /usr/bin/x86_64-linux-gnu-ld: cannot find -example 有没有办法将这个库包含到我现有的项目中 我发现
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible /home/SDK/lib when searching for -example
/usr/bin/x86_64-linux-gnu-ld: cannot find -example
有没有办法将这个库包含到我现有的项目中
我发现了,但可能有一些变化,因为它已经7年了
提前谢谢你 x86和amd64 ABI在Linux上完全不同,因此不能直接从64位代码调用32位库。也就是说,您可以通过创建一个单独的32位程序来实现您的目标,该程序将调用代理到库中,并通过REST、WSDL、Protobuf或您最喜欢的IPCs方式公开它们,然后从64位进程进行这些调用。我认为这通常应该是可行的,不幸的是,我无法在我的机器上运行32位进程,因为它更像是只支持64位的嵌入式linux。您需要安装32位版本的ld.so、libc以及32位库所依赖的所有共享库。