尝试编译以下代码终端我有
gcc: -pthread: No such file or directory
,
这个错误是什么意思以及如何消除它?
文件名: 窗口.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`
答案1
这很可能意味着您的系统没有安装线程库的开发部分。您可以-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
.