2016-11-09 5 views
1

ソースからプログラムをコンパイルしようとしています。 openSUSEの12.1 chroot環境でのプログラムは、罰金をコンパイルしますが、openSUSEの飛躍42.1 chrootの中で、私は次のエラーを取得:私は(ここでは上とGoogleの両方で)検索したが、上の多くの情報を見つけることができなかったg ++:エラー:認識できないコマンドラインオプション '-mt'

g++: error: unrecognized command line option '-mt' 

を-mtフラグ。この '-mt'フラグは何ですか?

+0

[GNU GCC options summary](https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html#Option-Summary)には見つかりません。それは別のコンパイラを意味するかもしれませんか? –

+0

私の頭に浮かぶのは、MS Visual Studio/MTのマルチスレッド、静的リンクコンパイラオプションです。 openSUSE 12.2を起動すると、私は手近にあります。gccでは何も見つかりません。 – user4581301

+0

これは古いオプションのようです。https://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/IA_002d64-Options.htmlを参照してください。 pthreadフラグで安全に置き換えることはできますか?それはまだ動作します。 – pydumm

答えて

1

このフラグは、マルチスレッドアプリケーションのコンパイルとリンクに使用されます。

gccの場合は、コンパイルとリンクの両方に-pthreadを使用する必要があります。-lpthreadは必要ありません。

-pthreadをコンパイルするときに、必要なマクロをリンクするときに、必要なマクロをリンクします。

関連する問題