假設您想構建Boost「入門」示例並使用Xcode項目鏈接到它們,而不是在命令行構建。您嘗試只有標題選項,它工作正常。如何使用XCode構建boost「入門」示例?
但後來你把示例源:
#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安裝
- 打開Xcode和創建一個新的C編譯Boost庫++命令行實用程序項目。
- 將libboost_regex.dylib到在組&文件樹視圖中的產品目錄(檢查,允許它複製文件的選項)
- 設置項目選項,使頭搜索路徑指向升壓包括文件夾
- 構建並運行該項目!
可悲的是,如果你已經打開(運行|控制檯)控制檯,你會看到一個錯誤,它無法找到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
然後它出現segfaults。
Program received signal: 「EXC_BAD_ACCESS」.
ACK!
但是不要害怕。我知道問題是什麼!如果沒有人打敗我,我會在午飯後發佈解決方案。
我想如果沒有發生拷貝,它可能會鏈接一個不同的(非調試)版本的庫,這將解釋爲什麼添加複製步驟修復它。 – 2012-02-01 15:21:33