Linux 에서 정의되지 않은 참조입니다 pthread_create
난 다음 데모 끕니까 웹 (https://computing.llnl.gov/tutorials/pthreads/) 에서 인계받아
#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5
void *PrintHello(void *threadid)
{
long tid;
tid = (long)threadid;
printf("Hello World! It's me, thread #%ld!\n", tid);
pthread_exit(NULL);
}
int main (int argc, char *argv[])
{
pthread_t threads[NUM_THREADS];
int rc;
long t;
for(t=0; t<NUM_THREADS; t++){
printf("In main: creating thread %ld\n", t);
rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
if (rc){
printf("ERROR; return code from pthread_create() is %d\n", rc);
exit(-1);
}
}
pthread_exit(NULL);
}
그러나 내가 내 시스템 (Ubuntu Linux 실행 9.04) I get it on 컴파일하십시오 다음 오류:
corey@ubuntu:~/demo$ gcc -o term term.c
term.c: In function ‘main’:
term.c:23: warning: incompatible implicit declaration of built-in function ‘exit’
/tmp/cc8BMzwx.o: In function `main':
term.c:(.text+0x82): undefined reference to `pthread_create'
collect2: ld returned 1 exit status
39 이 doesn& 만들지 않았기 때문에, t ',' 파트리드리히 다는일은 감지에서 헤더입니다 dm_ownerdm_owner '기능을 하는' pthread_create 있다. # 39 의 what& 잘못된 것, 아무 생각 없어?
347
14
, Incorrect.&l br> 지금까지 이 문제의 답을 모두 있다. 올바른 linux용 명령은 다음과 같습니다.
일반적으로 라이브러리를 소스 및 명령줄의 객체에는 따라야 할 수 없는 '및' 레프 트레더 ";; s # 39 option" it& 라리브러리 사양명세. 시스템에 설치된 리브프트리아드리아 '불과'
링크 못합니다.
eclipse 에서
,, 도서관이 linker-> properties-> c/c++Build-> setting-> mgcc c++컴파일러는 top 부품 추가, pthread" ".
몇 가지 예를 들어, 이를 통해 아쿠탈리 컴파일하십시오 데사용됩니다 pthreads 코드는 명령 아래 표에 나와 계속할 경우 판독값 다음 자습서는:
https://computing.llnl.gov/tutorials/pthreads/ # 컴파일하기를
enter 이미지 여기에 설명을!
Linux 에서 실행되는 터미널, 어떤 방법이 주효했는가 for me 는 다음과 같은 명령을 사용하여 컴파일하기를 (예를 들어 c 테스트리스 파일을 난 로렌아줌마가 컴파일하십시오 호출됨):
이를 통해 희망을 누군가!
올바른 linux*용 명령은 다음과 같습니다.
Cmake 를 사용하는 경우, 사용할 수 있습니다.
또는
이 컴파일하십시오 다음과 같습니다. pthread 데모 mgcc 디모스크 - o -
Gcc 와 레프 트레더 '옵션' 를 사용해야 합니다.
" pthread", 추가 됩니다. = = = >, 링커, C/C++, 예절 있는 > 구축하십시오 > mgcc c++컴파일러는 라이브러리보다는 = >. 주요 부품 ", 라이브러리 (l) ". 그게 이
비주얼 스튜디오 2019년 에서 '에서' 속성 페이지를 대체하십시오 pthread 프로젝트의.
>. 링커 - >. 명령행을 > -; 추가 옵션을
Pthread '텍스트' 를 입력합니다.
확인란 맨페이지 및 얻을 수 있습니다.
"' 시놉시스 (줄거리)
include < pthread.h>;
(, 속성, pthread_attr_t pthread_t 스레드할 const int pthread_create void ( start_routine) (void ), void arg);
컴파일 및 연계 - pthread. . "'
Pthread 는 CMake '의' i believe '다음' 의 적절한 방법은 추가 "' find_package (스래드입니다 필수)
target_link_libraries (helloworld cmake_thread_libs_init $ {} ) "'
메뉴를 구성할 수 있는 안주타 http://www. gnu. 구축하십시오 관심용 프로젝트. Https://xxx. 있는 추가 옵션을 구성합니다.
39, ll 도움말에서는 it& 희망을 누가 너무.
가끔 사용하는 경우, 여러 라이브러리와는 라이브러리 의존성 확인. (예 - 레프 트레더 - 짜들. = > <; . - 레프 트레더 짜들)