gcc: -pthread: 해당 파일이나 디렉터리가 없습니다.

gcc: -pthread: 해당 파일이나 디렉터리가 없습니다.

다음 코드를 컴파일해 보세요단말기나는 가지고있다

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_REENTRANTand 를 추가하는 것을 의미합니다 -lpthread. 따라서 누락된 파일은 libpthread.sometihing.

관련 정보