【问题标题】:Mac OS X: trying to link (ld) against a frameworkMac OS X:尝试将(ld)链接到框架
【发布时间】:2010-11-04 17:06:38
【问题描述】:

我正在阅读 Mark 和 Aaron 的“Advanced Mac OS X Programming”。我无法让一个终端语句正常工作:

cc -g -o useadd -F./Adder/build -framework Adder useadd.m

位于第 45 页 - 第 3 章(库)。如您所见,我试图将 useadd.m 与使用 Xcode 创建的框架链接起来。当我运行这个命令时,我得到这个错误:

ld: 找不到框架加法器

collect2: ld 返回 1 个退出状态

我确保文件夹 /Adder/build 存在于当前目录下。在该文件夹中,还有另一个:Adder.build 包含框架。我一直在尝试所有可能的组合,但链接器找不到我的框架。

我使用的是 Mac OS X Leopard,我认为这本书是在 Leopard 之前出版的,当时 Tiger 还是最新的 Mac OS。

你能帮帮我吗?

【问题讨论】:

    标签: macos frameworks linker


    【解决方案1】:

    使用 -F 选项指定的路径必须指向包含框架的目录(而不是在子目录中)。所以试试 -F./Adder/build/Adder.build,如果它真的在那里。但通常 Xcode 会将构建产品放在构建目录中名为 Debug 或 Release 的目录中。 Adder.build 仅用于中间构建结果。

    【讨论】:

    • 嗨,谢谢,一般来说,确保您通过 -F 指定的文件夹包含框架很重要(查找 .framework “扩展名”)
    猜你喜欢
    • 2016-02-04
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    相关资源
    最近更新 更多