URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5780
[ Назад ]

Исходное сообщение
"Не компилируется прога для работы с нитями"

Отправлено Mike , 05-Окт-06 09:41 
Пробую работать с 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. Пробовал ту и другую -  без разницы, компилятор ругается одинаково.


Содержание

Сообщения в этом обсуждении
"Не компилируется прога для работы с нитями"
Отправлено chip , 05-Окт-06 10:57 
>> оффтопиком: что такое pthread-safe кто-нить в курсе? И как этого достичь в posix-thread?

http://en.wikipedia.org/wiki/Thread_safe


"Не компилируется прога для работы с нитями"
Отправлено sasha , 05-Окт-06 12:37 
-lpthread


"Не компилируется прога для работы с нитями"
Отправлено Mike , 05-Окт-06 13:13 
>-lpthread

это опция компилятора?? как ее вставить в KDevelop?


"Не компилируется прога для работы с нитями"
Отправлено sasha , 05-Окт-06 13:28 
>>-lpthread
>
>это опция компилятора?? как ее вставить в KDevelop?

я с KDevelop не работаю поэтому не могу сказать как :(.


"Не компилируется прога для работы с нитями"
Отправлено Mike , 06-Окт-06 10:21 
Все пашет. Спасибо!