マルチスレッドプログラミングの例として与えられた単純な c++ プログラムを実行しようとしています。ブーストがインストールされた別のマシンで実行されることはわかっていますが、Xcode で実行しようとしていますが、これによりいくつかの問題が発生しています。
最初に、既存のバージョンのブーストで実行しようとしました。しかし、多くのエラーが発生しており、いくつかの調査を行った後、1.47 に含まれるいくつかの既知のスレッド化バグを修正するために、ブースト バージョンを 1.47 から 1.52 に更新する必要があることがわかりました。
これで多くのエラーが修正されましたが、まだいくつかスローされていました。そのため、ここにあるパッチを使用して 1.52 にパッチを適用する必要があることがわかりました: https://svn.boost.org/trac/boost/attachment/ticket/7671/libcpp_c11_numeric_limits.patch
それでも、「-lboost_thread のライブラリが見つかりません」というリンカ エラーが表示されます。
現在、Xcode には次のプロジェクト設定があります。 検索パスの下で、ヘッダーとライブラリの検索パスを「usr/local/include/」に設定しています - - リンクの下で、他のリンカー フラグを「-lboost_thread」に設定しています
usr/local/lib/ に lboost_thread.a と lboost_thread.dylib の両方があります。問題を解決するはずなので、xCodeにこれを見つけさせるにはどうすればよいですか。
また、ここで役立つ場合は、私が実行しているコードです:
#include <iostream>
#include <boost/thread.hpp>
using namespace std;
void printNum(char c, int num)
{
for(int i = 0; i < num; i++)
{
cout << c << i << endl;
}
}
int main()
{
cout << "Boost threads!" << endl;
boost::thread t(printNum, 'b', 100);
printNum('a', 100);
cout << "Good bye!" << endl;
}
エラーの画像:
その場所にあるファイルを示す画像:
私のビルド設定を示す画像: