【发布时间】:2009-12-10 17:21:55
【问题描述】:
假设您想构建 Boost“入门”示例并使用 Xcode 项目链接到它们,而不是在命令行中构建。您尝试仅标头选项,它工作正常。
然后你拿例子来源:
#include <boost/regex.hpp>
#include <iostream>
#include <string>
int main()
{
std::string line;
boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );
while (std::cin)
{
std::getline(std::cin, line);
boost::smatch matches;
if (boost::regex_match(line, matches, pat))
std::cout << matches[2] << std::endl;
}
}
然后您执行以下操作:
- 使用 ./bjam install 构建 boost 库
- 打开 Xcode 并创建一个新的 C++ 命令行实用程序项目。
- 将 libboost_regex.dylib 拖到 Groups & Files 树视图中的 Products 文件夹中(选中允许它复制文件的选项)
- 设置项目选项,使标题搜索路径指向 Boost 包含文件夹
- 构建并运行项目!
遗憾的是,如果您打开控制台(运行 | 控制台),您将看到一个错误,即找不到 dylib:
dyld: Library not loaded: libboost_regex.dylib
Referenced from: /Users/matt/Documents/Boost/test/GettingStarted/build/Debug/GettingStarted
Reason: image not found
所以,不知道有更好的方法让 Xcode 执行此操作,您将 dylib 复制到 your_project/build/debug/ 中,然后它就会运行!万岁!
你是一个注重细节的人,你在标准输入中输入一些东西来尝试一下:
> Subject: foo bar baz
> foo bar baz
然后它会出现段错误。
Program received signal: “EXC_BAD_ACCESS”.
确认!
但不要害怕。我知道问题是什么!如果没有人超过我,我会在午餐后发布解决方案。
【问题讨论】: