Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 将32位库包括到现有的64位应用程序中_Qt_Gcc_32bit 64bit - Fatal编程技术网

Qt 将32位库包括到现有的64位应用程序中

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 有没有办法将这个库包含到我现有的项目中 我发现

我有一个现有的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
有没有办法将这个库包含到我现有的项目中

我发现了,但可能有一些变化,因为它已经7年了


提前谢谢你

x86和amd64 ABI在Linux上完全不同,因此不能直接从64位代码调用32位库。也就是说,您可以通过创建一个单独的32位程序来实现您的目标,该程序将调用代理到库中,并通过REST、WSDL、Protobuf或您最喜欢的IPCs方式公开它们,然后从64位进程进行这些调用。

我认为这通常应该是可行的,不幸的是,我无法在我的机器上运行32位进程,因为它更像是只支持64位的嵌入式linux。您需要安装32位版本的ld.so、libc以及32位库所依赖的所有共享库。