THEOS踩坑。。。

675 阅读1分钟

编译期间

在执行make指令编译的时候,可能会出现大致如You do not an SDK的错误。这是因为没有指定Xcode版本导致的。可通过以下代码查看指定的Xcode默认版本导致的,可通过以下命令查看是否指定默认版本。

$ xcode-select -p

然后通过如下命令更改指定默认版本。 官方链接

$ sudo xcode-select -switch /Applications/Xcode.app

如果有缓存问题,可通过执行clean命令解决。

打包期间

在执行make package指令打包deb包的时候,如果出现IO::Compress::Lzma引发的错误,可通过如下两种方式解决:

  • 修改dm.pldeb.mk文件。

    1. 执行如下指令修改dm.pl文件:
    $ vim $THEOS/vendor/dm.pl/dm.pl
    

    在文件中找到如下两行,注释。

    # use IO::Compress::Lzma;
    # use IO::Compress::Xz;
    
    1. 执行如下命令,修改deb.mk文件。
    $ vim $THEOS/makefiles/package/deb.mk
    

    将文件中的_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= lzma,修改为_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= gzip

  • 为macOS安装xz工具

    $ brew install xz 
    $ sudo cpan IO :: Compress :: Lzma
    

还有一个要注意的,进行初始化的时候,Package Name [com.yourcompany.wechatpwddemo]: 不能出现大写字母。出现大写字母的话,在编译阶段不会出问题,但是打包的时候会报错。