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`
これは、システムにスレッドライブラリの開発部分がインストールされていないことを意味している可能性があります。次のコマンドを使用して、プラットフォームでスレッド-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
になります。