Пробую работать с NPTL.
Сляпал прожку:#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <iostream>
#include <cstdlib>
#include <nptl/pthread.h>
using namespace std;
static void * Thread_Func(void * arg)
{
printf("Поток 2. Идентификатор: %d\n", pthread_self());
}
int main(int argc, char *argv[])
{
printf("Поток 1. Идентификатор: %d\n", pthread_self());
pthread_t thr_id = 0;
pthread_create(&thr_id, NULL, Thread_Func, NULL);
//pthread_join(thr_id, NULL);
printf("Завершение работы.\n");
return EXIT_SUCCESS;
}
Но компилятор грит следующее:
cd '/fat/Projects/proba01/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k
gmake all-recursive
Making all in src
компиляция proba01.cpp (g++)
компоновка proba01 (libtool)
компоновка proba01 (g++)
proba01.o(.text+0x16d): In function `main':
/fat/Projects/proba01/src/proba01.cpp:28: undefined reference to `pthread_create' [<- !!!!!!!!!!!!!]
collect2: ld returned 1 exit status
gmake[2]: *** [proba01] Ошибка 1
gmake[2]: Цель `all' не была пересобрана из-за ошибок.
gmake[1]: *** [all-recursive] Ошибка 1
gmake: *** [all] Ошибка 2
*** Завершено с кодом: 2 ***
Работаю под KDevelop 3.1.1
OS Kernel: Linux version 2.6.9-34.EL (buildcentos@build-i386) (gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)) #1 Wed Mar 8 00:07:35 CST 2006
В чем проблема не подскажете??? Почему компилятор не понимает функции из pthread.h ???
Что интересно, функцию pthread_self принял, а на функции pthread_create, pthread_join ругается.
Еще маленький вопросик: в includes лежат две библиотеки pthread.h, одна прям в includes, другая в подкаталоге nptl. Пробовал ту и другую - без разницы, компилятор ругается одинаково.