将开源libosmscout移植到QNX遇到的问题和解决方法

本文记录了将开源库libosmscout从Linux平台移植到QNX过程中遇到的问题及解决方案。主要问题包括配置文件的适应性调整、SSE指令集的编译选项、大量编译错误的排查以及头文件和库的引用问题。通过逐步将源文件引入新工程并修正函数调用,最终成功移植。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大费周章将libosmscout在vs平台上编译成功了,虽然已经有了readme编译手册,但是其依赖的其他开源库较多,一点的差错都不能有。

若将libosmscout移植到QNX,一个新的平台上,发生什么意外都不奇怪了。所以libosmscout里几个工程,只选取最基本的,不依赖其他库的libosmscout工程进行移植。


这里总结下移植过程中遇到的问题:

1. 随时准备调整config.h和CoreFeatures.h文件中的预定义

在linux平台上,这两个文件时由autoconf根据参数和环境生成的。里面是与头文件相关的预定义的宏。不同的环境,其宏定义可能也不同。如

/* Define to 1 if you have the declaration of `log2(double)', and to 0 if you
   don't. */
#undef HAVE_DECL_LOG2

/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

好在有注释说明,比较好理解。

其中费了一天 的功夫去理解其参数文件configure.ac,对宏定义修改有点帮助,但希望能直接弄明白宏定义的设置与要求的心思白费了。


2. 有关支持SSE, SSE2的部分,若设置编译选项__SSE__, __SSE2__,出现__buildin_ia32_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值