加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – isisroot或SDKROOT问题

发布时间:2020-12-14 17:44:41 所属栏目:百科 来源:网络整理
导读:我是libhistory的新手,所以我正在查看使用readline库找到的示例.使用以下命令在命令提示符下编译: gcc -o ./a.out /usr/local/share/readline/histexamp.c -lreadline -L/usr/local/lib/ 它编译并维护历史. 然后创建一个具有相同文件的xcode项目,并链接到re
我是libhistory的新手,所以我正在查看使用readline库找到的示例.使用以下命令在命令提示符下编译:

gcc -o ./a.out /usr/local/share/readline/histexamp.c -lreadline -L/usr/local/lib/

它编译并维护历史.

然后创建一个具有相同文件的xcode项目,并链接到readline库,它编译得很好.但是当我运行时,它将不会保留历史记录并在枚举历史记录条目时崩溃.经过一些试验后,我发现-isysroot参数是造成这个问题的原因:

-isysroot /Developer/SDKs/MacOSX10.6.sdk

?gcc手册页说isysroot就像–sysroot选项,但只适用于头文件.

为什么同一程序对此选项的行为有所不同?

解决方法

-isysroot用于定义您使用的SDK.如果使用10.6 SDK构建然后尝试在OS X 10.5上运行,那么您可能会失败.您应该使用与程序所需的最低操作系统相对应的SDK进行构建(以实现最大的向后兼容性).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读