【问题标题】:Linking Libraries in Xcode在 Xcode 中链接库
【发布时间】:2010-10-01 13:01:04
【问题描述】:

我使用的是 powerbook (osx 10.5),最近下载并安装了 FFTW 3.2 (link text)。我已经能够使用终端根据在线教程编译和运行一些简单的程序:

g++ main.cpp -lfftw3 -lm

但是,我无法在 Xcode 中编译相同的程序。我收到一个链接错误,“未找到符号”。在 /usr/local/lib 中有一个名为 libfftw3.a 的文件。这怎么可能联系起来?此外,显然这些库必须以特定顺序链接,即参见:link text

感谢您的帮助

【问题讨论】:

    标签: c++ xcode linker


    【解决方案1】:

    要在 Xcode 中链接到这样的 .a 库,您需要:

    • 在 Xcode 中双击您的目标或应用程序以打开信息窗口

    • 切换到“构建”选项卡

    • 将 -lfftw3 添加到“其他链接器标志”(在“链接”下)

    • 将库的路径添加到“库搜索路径”(在“搜索路径”下)。在您的情况下,这将是 /usr/local/lib

    我们使用 FFTW(顺便说一句,它很棒),这对我们有用!

    【讨论】:

    • .so 库怎么样?
    • 或链接器标志 -lfftw3f 取决于您要使用的 FFTW 版本
    【解决方案2】:

    您是否为目标设置了这些选项?

    在“链接->其他链接器标志”下添加:“-L/path/to/library -lfftw3 -lm”

    【讨论】:

      【解决方案3】:

      /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libfftw3.a 中的警告,文件不是必需的架构

      也许二进制格式不同,例如库可以是 32 位的,而应用程序是 64 位的。

      【讨论】:

        【解决方案4】:

        好的——我终于搞定了。我还需要 GNU 科学库,并且在架构设置方面遇到了类似的问题。对于任何感兴趣的人,本教程将介绍如何设置 Xcode 和链接库:

        https://web.archive.org/web/20101006023300/http://www.boyfarrell.com/learning-curve/gnu-scientific-library-and-xcode-31

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多