如何在不关闭SIP的情况下在macOS Catalina上生成编译数据库?
我尝试了和,从makefiles生成编译数据库JSON。然而,事实证明,它们都会在我的mac上生成无用的空JSON文件如何在不关闭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
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应用程序