マルチスレッドの方法を学ぶために、オンラインで見つけた単純なマルチスレッドのコードをコンパイルしようとしています。
このコードを実行するには、コンパイラフラグを使用する必要があります:-pthread
および-std=c++0x
。
しかし、フラグを追加しようとすると、ビルドログにフラグが使用されていることが表示されません。
これらを機能させるためにオンラインでいくつかの一般的なヒントを試しましたが、どれも機能しませんでした。誰かが助けることができますか?
オンラインでコンパイラフラグをコードブロックに追加するための他のアドバイスを試しましたが、それを実行してビルドログを確認すると、いずれも表示されません。
この質問 は重複としてマークされていたので、それとは関係がなくても、リンカーフラグについてあり、ここにコンパイラフラグについてあるので、ここに私の答えを投稿します。
Settings->Compiler...に移動する必要があります。次に、リンカー設定タブをクリックする必要があります。
右側にその他のリンカーオプションが表示されます。そこで、-lpthread
と入力して、[OK]を押す必要があります。
その後、rebuildをクリックする必要があるかもしれません。
プロジェクトを開き、[プロジェクト]> [ビルドオプション]> [コンパイラフラグ]に移動します。
[コンパイラフラグ]タブでチェックボックスをオンにしたり、[その他のオプション]タブで他のオプションを記述したりできます。
どちらか一方を実行します。例: 「-std = c ++ 98」ボックスにチェックマークを付けず、「-std = c ++ 11」をその他のオプションに入力します。これにより、両方のオプションがコンパイラに渡されることになります。
「その他のオプション」を使用する代わりの別のオプションは、カスタムコンパイラフラグを作成することです。したがって、コンパイラフラグに加えて、リンカフラグを指定できます。 -pthread(私も問題を抱えていました)の場合、Michiが述べたように、リンカーフラグも必要であるように見えました 右クリックして新しいオプションを選択すると、新しいコンパイラフラグを作成できます
オプションの追加:メニュー->プロジェクト->プロパティ->ビルドターゲットタブ->ビルドオプションボタン