首页 > 解决方案 > 快速构建 - 默认参数(C++ 包)

问题描述

我有多个生成跨平台库(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++ 包。

标签: c++iosswiftmacosswift-package-manager

解决方案


试试这个标志。

swift build -v 

-v, --verbose 增加信息输出的详细程度

它在我的机器上打印以下字符串: 在此处输入图像描述

和许多附加信息)


推荐阅读