如何在 Mac OS X Mountain Lion 上编译 libnoise

Posted

技术标签:

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

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

你能帮帮我吗?

【问题讨论】:

【参考方案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

【讨论】:

以上是关于如何在 Mac OS X Mountain Lion 上编译 libnoise的主要内容,如果未能解决你的问题,请参考以下文章

Mac OS X Mountain Lion 下如何独立设置鼠标和触摸板的滚动方向?

在 Mac OS X Mountain Lion Server 中设置 PHP 路径

libusb_claim_interface 在 Mac OS X Mountain Lion 上失败

sh Mac OS X 10.7 / 10.8 / 10.9(Lion / Mountain Lion / Mavericks)Bootstrapping

Xcode 4.5.2 在 Mac OS X Mountain Lion 上不断崩溃?

在 Mac OS X Mountain Lion(或更高版本)和 Linux 上使用 X11/Xlib.h