【问题标题】:How do I compile libnoise on Mac OS X Mountain Lio如何在 Mac OS X Mountain Lion 上编译 libnoise
【发布时间】:2012-09-15 11:57:24
【问题描述】:

在编译基于 linux 的库时,我是 Mac OS X 环境的新手。每当我使用库时,我只需下载 .framework 文件,将其添加到我的 /Library/Frameworks 并将其包含在我的 XCODE 项目中,一切都很好。 现在我被 libnoise 困住了。我想在我的项目中使用它,但我不知道如何生成 .framework 文件/目录。

你能帮帮我吗?

【问题讨论】:

    标签: c++ macos compilation operating-system


    【解决方案1】:

    如果您有 libnoise,它很可能包含某种 Makefileconfigure 脚本。

    通过运行

     ./configure
     make all
    

    您将获得适用于您的平台 OSX10.8 的库文件 (libnoise.a)。

    Framework 本质上是一个具有特定布局的文件夹和一个 .plist 文件。要自动生成这样的文件夹,您可以创建一个 Framework 类型的 expty Xcode 项目,并将您刚刚创建的 libnoise.a 添加为链接器的输入。

    关于如何从静态库(.a 文件)创建框架的详细说明:http://www.blackdogfoundry.com/blog/creating-a-library-to-be-shared-between-ios-and-mac-os-x/

    您可能缺少框架中的头文件,但随后也可以从 libnoise 源添加到 Xcode 项目。

    这个 SO 答案也可能有用:Difference between framework and static library in xcode4, and how to call them

    苹果的文档也不错:https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Tasks/CreatingFrameworks.html

    【讨论】:

    • 它没有配置脚本,只有一个make文件。当我运行“make all”时,它给了我一个错误,告诉我没有找到 make 命令,尽管我安装了 XCode。
    • make 是 XCode dvd 中 DevToolsCLI 包的一部分。我可能对包名不正确,但make 肯定在包中。如果找不到,请使用 MacPorts 执行port install gmake
    • 给了我一堆错误,比如 Makefile:56: ../src/module/voronoi.d: No such file or directory 还有这个最后pastebin.com/BYu9haF3
    • .d 文件也有同样的问题。我认为是时候坐下来在自己的 Makefile 中编写 gcc -c voronoi.cpp -o voronoi.o 等了 :( 然后将 .o 文件合并到 .a 库中。
    • 好吧,看起来很公平。然后如何将 .o 文件合并到 .a 库中?
    【解决方案2】:

    我不完全确定这是否是“使用不同的 fork 和 cmake”的意思

    但是我使用这个 git repo 让 libnoise 在我的 mac 中运行。

    https://github.com/qknight/libnoise

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-15
      • 2013-09-24
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      • 2012-09-01
      相关资源
      最近更新 更多