如何在 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,它很可能包含某种 Makefile
或 configure
脚本。
通过运行
./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