2012-03-05 60 views
3

我试图在Xcode 3.1.4(Mac OS X Leopard)上安装Boost C++库,许多不同的方式都失败了。最近我遇到了Homebrew软件包安装程序,并使用它来安装boost。如何设置Boost在Xcode上编译和链接

How do you install Boost on MacOS?

然而,当我尝试,包括在一个项目中Boost库,例如

“升压/λ/ lambda.hpp”

我得到:“错误:升压/λ /lambda.hpp没有这样的文件或目录“

已尝试在库搜索路径中设置”/ usr/local/boost_1_47_0“。我似乎无法找到升压库的任何头文件。因此,将标题搜索路径设置为相同的“/ usr/local/boost_1_47_0”。我不知道Homebrew是否已经正确安装了boost库?我再次安装,并得到一个警告,说已经安装了提升。

是否有其他人有过使Xcode与boost一起工作的经验?过了几天,我一直在为此苦苦挣扎,我准备放弃并在Ubuntu上使用Eclipse。

+0

请参阅http://stackoverflow.com/questions/893841/build-boost-on-mac-with-xcode – Aleph7 2012-03-06 00:43:44

+0

试过,但没有任何工作。正如我所说的,我最终用Homebrew安装,因为它是唯一对我有用的东西。 – Andrew 2012-03-06 09:20:58

回答

2

大多数Boost库都只有标头,所以你只需要设置包含路径。

在自制软件版本的情况下,Boost标头安装到/usr/local/include/,默认情况下应该在XCode包含路径中。验证文件是否正确安装(例如,lambda头应该位于/usr/local/include/boost/lambda/lambda.hpp),并验证XCode是否相应地设置了包含路径。

在相关说明上,请查看CMake来配置您的构建。它不仅为构建库配置库,还允许在不同工具链之间轻松切换(在您的情况下,Mac上的XCode和Ubuntu上的Eclipse)。

+0

我有/ usr/local/lib中有boost文件。没有usr/local /只包含usr/include,没有boost头文件。我做了搜索,并且lambda.hpp没有被Homebrew安装到任何地方。我会看到我用cmake获得的位置,并在稍后报告。谢谢! – Andrew 2012-03-06 09:26:23

+1

在这种情况下,它看起来像自制是责任。 Homebrew会将头文件安装到'/ usr/local/Cellar/boost /',然后创建一个指向'/ usr/local/include/boost'的正确include目录的符号链接。如果Cellar目录存在但符号链接不存在,那么它可能没有写入该目录中的权限。 – ComicSansMS 2012-03-06 13:36:41

+0

你是对的图书馆/ usr/local/lib具有指向/ Cellar/Boost的别名文件我尝试打开文件夹的所有权限,然后卸载并重新安装Boost。没有运气,但仍然没有头文件在任何地方。 Cmake也不那么容易。 http://stackoverflow.com/questions/7347432/installing-boost-with-cmake – Andrew 2012-03-06 17:15:25