gpt4 book ai didi

Xcode 3.1.1 和静态库

转载 作者:行者123 更新时间:2023-12-04 22:17:53 26 4
gpt4 key购买 nike

我是一位经验丰富的 VS.NET 用户,正在尝试在 Xcode 3.1.1 上启动和运行。
这是我要完成的工作:

我想要一个静态库(“Lib”)拥有自己的 xcodeproj 文件。我有一个可执行应用程序(“App”),它使用 Lib 来引用 Lib 的 xcodeproj 文件,以便对 Lib 的更改导致 App 重新链接。理想情况下,我希望能够在 App 的 Xcode 工作区中编辑 Lib 的源文件,这样我就不必一直忙于进行更改。

我从在线帮助中发现,我可以简单地将静态库 xcodeproj 拖到我的应用程序项目中,它会获得引用。我看到一旦我的静态库 xcodeproj 在我的应用程序的项目中,我可以简单地将它拖到应用程序的目标上,它就知道应用程序依赖于 Lib。这似乎是正确的道路,但事情还没有按照我想要的方式进行。

以下是我的问题:

  • 似乎仅仅让 App 依赖于 Lib 并不会导致 App 与 Lib 链接。看来我必须将 libLib.a 从 Lib 文件夹显式拖到 App 的“Link Binary With Libraries”构建阶段。在 VS.NET 中,只需将项目指定为解决方案依赖项即可将其添加到链接行。我只是想确保我没有遗漏任何东西。
  • 当我在 Xcode 中打开 App 并将 Lib.xcodeproj 拖入其中时,那里没有任何 Lib 的源文件。我只在“Lib.xcodeproj”文件夹下获得 libLib.a。在 VS.NET 中,我可以在此处编辑 Lib 的源文件并重建它,等等......但是在 Xcode 中使用这种方法,当我重建 App 时,对 Lib.cpp 的更改不会导致 Lib 重建。理想情况下,当我将 Lib.xcodeproj 拖到 App 中时,我会显示所有 Lib 的源文件和目标。有没有办法做到这一点?

  • 提前感谢您的任何回复!

    最佳答案

    您是正确的,使目标 A 依赖于目标 B(无论是在同一项目内还是跨项目)确实 不是 导致目标 A 链接到目标 B。您需要明确指定它们;这是因为它们是独立的概念,并且您可能在不想相互链接的目标之间存在依赖关系 - 例如,由 objective-c 构建并用作构建的一部分的命令行工具目标 A 的过程。

    此外,您是正确的,从项目 A 中引用项目 B 不会让您在项目 A 的窗口中看到项目 B 的源代码。那是因为 Xcode 没有与 Visual Studio 和 Eclipse 相同的“工作区”模型。您在上面提到了“包含项目 A 的工作区”的存在,但 Xcode 并没有任何这样的东西,只是一个代表项目 A 的窗口。

    关于Xcode 3.1.1 和静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/87979/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com