几天来,只要调用gcc
或go
,系统就会发出以下警告(macOS High Sierra 10.13.5):
ld: warning: text-based stub file /System/Library/Frameworks//Security.framework/Security.tbd and library file /System/Library/Frameworks//Security.framework/Security are out of sync. Falling back to library file for linking
我觉得通过安装某些go
软件包
go get
可能已经更改了上述目录中的某些文件,但是我无力验证这一点。
有没有办法正确确定消息的原因?
答案 0 :(得分:0)
几周以来,我一直在make
流程中看到这些警告。我最近做了一个使用make
进行构建的Xcode项目(通过 External Build System 项目),并注意到从Xcode运行make
时不存在那些警告。唯一的区别是Xcode在运行make
之前会导出一系列构建设置环境变量。
经过一些试验,事实证明,它是SDKROOT
变量,事后看来很合理。我将此变量添加到我的makefile中,警告消失了:
export SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
注意:该路径可以随Xcode的不同版本而改变。最好参考当前的SDK版本:
export SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
当然,假定您已安装Xcode。