다음 코드를 컴파일해 보세요단말기나는 가지고있다
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`
답변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
and 를 추가하는 것을 의미합니다 -lpthread
. 따라서 누락된 파일은 libpthread.sometihing
.