Mac 下XPCom开发遇到的问题

作者:刘志义

一直从事Windows环境下开发,对Mac的了解非常少.近来要做一个Mac环境下的Firefox扩展开发,所以只能赶鸭子上架,边学边做。Firefox扩展开发分为两部分:JavaScript XPCom。网上有太多好的教材可以参考,所以这里只是记录些我在Mac下开发XPCom遇到的小问题。

1.       文件格式

Firefox 的文件格式是i386,而在支持64位的Mac机器下,很多安装包和编译默认都是生成x86-64格式,导致不能正确解析,所以需要进行确认调整。当然我们xpcom也必须为i386.

2.       XPT文件生成

如果你用xpidl来生成XPT文件的时候,会出现这个错误:

dyld: Library not loaded: /opt/local/lib/libintl.3.dylib

Referenced from: /Users/varmaa/xulrunner-sdk/bin/./xpidl

        Reason: image not found

Trace/BPT trap

可以通过安装MacPorts来解决这个问题。需要注意的是,它默认是根据硬件来确定生成文件的格式是x86-64还是i386. 所以我们需要修改配置文件来强制其生成i386.

配置文件:   opt/local/etc/macports.conf

修改    #build_arch  ->  build_arch  i386

MacPorts的安装:https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites

3.       Debug模式下的编译

编译的时候可能会出现release编译没有问题,但是debug模式下有很多错误。这时候很可能是编译配置所导致的。在配置中加入如下选项应该能解决你的问题:

-Wl,-executable-path

-Wl,/path/to/sdk/bin

 

4.       Cocoa的使用

XPCom 的开发过程中,我们不可避免的会用到Cocoa。但这时候你会发现,在CPP文件中调用Cocoa会出现一些错误。这是因为编译机制的问题导致的。可以通过修改文件类型为”sourcecode.cpp.objcpp来解决这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值