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

5

我对Mac OS X环境下编译基于Linux的库还很陌生。以前,每当我需要使用一个库时,我只需下载.framework文件,将其添加到/Library/Frameworks目录下,并在XCODE项目中引用即可,一切都很顺利。

现在我遇到了libnoise。我想在我的项目中使用它,但不知道如何生成.framework文件/目录。

你能帮我吗?

2个回答

1
如果您安装了libnoise,很可能它包含某种形式的Makefileconfigure脚本。
通过运行
 ./configure
 make all

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

框架本质上是一个具有特定布局和.plist文件的文件夹。要自动生成这样的文件夹,您可以创建一个类型为Framework的空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。 - user1693266
make 是 XCode DVD 中 DevToolsCLI 包的一部分。我可能对包名不正确,但是 make 绝对在包中。如果您找不到它,请使用 MacPorts 进行 port install gmake - Viktor Latypov
给我一堆错误,例如Makefile:56: ../src/module/voronoi.d: 没有那个文件或目录,最后还有这个http://pastebin.com/BYu9haF3。 - user1693266
在处理“.d”文件时遇到了同样的问题。我想是时候让你坐下来,写出自己的Makefile,包括“gcc -c voronoi.cpp -o voronoi.o”等命令,然后将“.o”文件合并成“.a”库。 - Viktor Latypov
用不同的分支和CMake完成了 :) 感谢您的帮助。 - user1693266
显示剩余4条评论

1

我不确定“使用不同的fork和cmake”是否指的是这个,但是我使用了这个git仓库,在我的Mac上成功运行了libnoise。

https://github.com/qknight/libnoise


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接