<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>4 目标 on 编程那些事儿</title><link>https://before80.github.io/prgms/Swift/SwiftPM/targets/</link><description>Recent content in 4 目标 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 13 Sep 2026 18:20:56 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Swift/SwiftPM/targets/index.xml" rel="self" type="application/rss+xml"/><item><title>4.1 创建 C 语言目标</title><link>https://before80.github.io/prgms/Swift/SwiftPM/targets/4.1-CreatingCLanguageTargets/</link><pubDate>Fri, 11 Sep 2026 21:45:00 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/SwiftPM/targets/4.1-CreatingCLanguageTargets/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/packagemanagerdocs/creatingclanguagetargets/"&gt;https://docs.swift.org/latest/documentation/packagemanagerdocs/creatingclanguagetargets/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="41-创建-c-语言目标"&gt;4.1 创建 C 语言目标&lt;/h1&gt;
&lt;p&gt;在你的 Swift 包中把 C 语言代码包含为一个目标。&lt;/p&gt;
&lt;h2 id="Overview"&gt;概述&lt;/h2&gt;
&lt;p&gt;C 语言目标的结构与 Swift 目标类似，只是多了一个目录（通常命名为 &lt;code&gt;include&lt;/code&gt;）用来存放公共头文件。如果你存放公共头文件的目录不叫 &lt;code&gt;include&lt;/code&gt;，请在 &lt;a href="https://developer.apple.com/documentation/packagedescription/target"&gt;target&lt;/a&gt; 上用 &lt;a href="https://developer.apple.com/documentation/packagedescription/target/publicheaderspath"&gt;publicHeadersPath 参数&lt;/a&gt;声明它。&lt;/p&gt;</description></item><item><title>4.3 模块别名</title><link>https://before80.github.io/prgms/Swift/SwiftPM/targets/4.3-ModuleAliasing/</link><pubDate>Fri, 11 Sep 2026 21:45:00 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/SwiftPM/targets/4.3-ModuleAliasing/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/packagemanagerdocs/modulealiasing/"&gt;https://docs.swift.org/latest/documentation/packagemanagerdocs/modulealiasing/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="43-模块别名"&gt;4.3 模块别名&lt;/h1&gt;
&lt;p&gt;为模块创建别名，以避免你的包或其依赖中各个目标之间的名称冲突。&lt;/p&gt;
&lt;h2 id="Overview"&gt;概述&lt;/h2&gt;
&lt;p&gt;随着你为包添加依赖，来自不同包的模块之间可能出现名称冲突。&lt;code&gt;Logging&lt;/code&gt;、&lt;code&gt;Utils&lt;/code&gt; 这类模块名是很常见的例子。为了解决冲突，&lt;strong&gt;从 Swift 5.7 起&lt;/strong&gt;，包管理器在为目标定义依赖时提供了参数 &lt;code&gt;moduleAliases&lt;/code&gt;。你可以为本来会冲突的模块定义新的唯一名称，而无需改动任何源代码。&lt;/p&gt;</description></item></channel></rss>