web-dev-qa-db-ja.com

gcc:-pthread:そのようなファイルまたはディレクトリはありません

terminalで次のコードをコンパイルしようとしています

gcc: -pthread: No such file or directory

このエラーは何を意味し、それを排除する方法は何ですか?

ファイル名:window.c

コード:

#include <gtk/gtk.h>

int main(int argc, char *argv[]) {

  GtkWidget *window;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 
  gtk_widget_show(window);

  gtk_main();
  return 0;

}

私はそれを次のパラメータでコンパイルしようとしました:-

gcc -Wall -g window.c -o window `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
3
user24665

これは、システムにスレッドライブラリの開発部分がインストールされていないことを意味している可能性があります。次のコマンドを使用して、プラットフォームでスレッド-pthreadフラグがどのように機能するかを確認できます。

gcc -dumpspecs | grep "%{pthread"

私はこれを得る:

%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
%{pthread:-lpthread}    %{shared:-lc}    %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}

つまり、私のシステムの-pthread-D_REENTRANT-lpthreadを追加します。したがって、欠落しているファイルはlibpthread.sometihingになります。

5
David Schwartz