【发布时间】:2021-07-29 10:52:15
【问题描述】:
我有多个生成跨平台库(iOS、macOS)的 Swift 包。
我正在尝试构建这些包(作为 CI 的一部分),并得到以下观察结果:
运行swift build时:
swift build
[1/1] Build complete!
那么,当具体指定iOS Simulator时:
xcodebuild -showsdks
iOS SDKs:
iOS 15.0 -sdk iphoneos15.0
iOS Simulator SDKs:
Simulator - iOS 15.0 -sdk iphonesimulator15.0
macOS SDKs:
macOS 12.0 -sdk macosx12.0
swift build --sdk iphonesimulator15.0
clang: warning: no such sysroot directory: '/Users/louis/Code/json/iphonesimulator15.0' [-Wmissing-sysroot]
In file included from /Users/louis/Code/json/_SwiftPackageManagerFile.cpp:5:
In file included from /Users/louis/Code/json/single_include/nlohmann/json.hpp:37:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:641:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstring:60:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string.h:60:15: fatal error: 'string.h' file not found
#include_next <string.h>
当我尝试不同的 SDK 时得到完全相同的错误,例如:
swift build --sdk macosx12.0
swift build 怎么能成功,但每当我指定一个 SDK 时它就会失败?默认的 SDK 是什么?
注意:我使用的包是 C++ 包。
【问题讨论】:
-
机器上运行的是什么版本的 xcode-select?
-
Xcode 12.5.1 12E507 和 Xcode 13.0 13A5201i 两者都给出了与我的问题相同的结果。
-
您的 bash 个人资料中有
CMAKE_SYSROOT吗?我看到人们在 c++ 空间中发布的类似错误 -
不,我没有设置那个变量。我应该把它设置成什么?我正在使用带有最新 Xcode 的标准 macOS。
-
你知道...我不确定,我没有用 C++ 做过任何事情但是我在这里看到了类似的错误和答案stackoverflow.com/a/63188875/9333764
标签: c++ ios swift macos swift-package-manager