如何在不关闭SIP的情况下在macOS Catalina上生成编译数据库?

如何在不关闭SIP的情况下在macOS Catalina上生成编译数据库?,macos,makefile,compilation,clang++,macos-catalina,Macos,Makefile,Compilation,Clang++,Macos Catalina,我尝试了和,从makefiles生成编译数据库JSON。然而,事实证明,它们都会在我的mac上生成无用的空JSON文件 Bear在其已知问题列表中确认此问题 不同操作系统上的安全扩展/模式可能会禁用库预加载。在这种情况下,Bear的行为正常,但结果编译数据库将为空。(请确保报告错误时不会出现这种情况。)启用安全模式的显著示例有:OS X 10.11(使用csrutil status | grep“System Integrity Protection”检查),以及Fedora、CentOS、RH

我尝试了和,从makefiles生成编译数据库JSON。然而,事实证明,它们都会在我的mac上生成无用的空JSON文件

Bear
在其已知问题列表中确认此问题

不同操作系统上的安全扩展/模式可能会禁用库预加载。在这种情况下,Bear的行为正常,但结果编译数据库将为空。(请确保报告错误时不会出现这种情况。)启用安全模式的显著示例有:OS X 10.11(使用
csrutil status | grep“System Integrity Protection”
检查),以及Fedora、CentOS、RHEL(使用
sestatus | grep“SELinux status”
检查)


现在,仅仅为了运行一个小程序而关闭SIP并不是一个好的解决办法。您知道从给定的makefile生成编译数据库的其他方法吗?

您调查过compiledb失败的原因吗?在neath下,它解析编译命令,
在构建时进行
打印


如果您有
make--print directory-n
的输出,您也可以在此处生成json文件:,它基本上与compiledb类似,但作为一个web应用程序。

您是否调查了compiledb失败的原因?在neath下,它解析编译命令,
在构建时进行
打印

如果您有
make--print directory-n
的输出,您还可以在此处生成json文件:,它基本上与compiledb类似,但作为一个web应用程序