1

これは、EclipseのWindows7OSでマルチスレッドプログラミングを学ぶために私が書いた単純なコードです。

pthread_mutex_t double_release_001_glb_mutex_;
pthread_mutex_t * double_release_001_glb_mutex = & double_release_001_glb_mutex_;

void double_release_001_glb_mutex_lock () {}
void double_release_001_glb_mutex_unlock () {}

int double_release_001_glb_data = 0;

void * double_release_001_tsk_001 (void * pram)
{

    pthread_mutex_lock (double_release_001_glb_mutex);
    double_release_001_glb_data = (double_release_001_glb_data% 100) + 1;

    pthread_mutex_unlock (double_release_001_glb_mutex);
    return NULL;
}

void double_release_001 ()
{
    pthread_t tid1;
    pthread_mutex_init (double_release_001_glb_mutex, NULL);
    pthread_create (& tid1, NULL, double_release_001_tsk_001, NULL);
    pthread_join (tid1, NULL);
    pthread_mutex_destroy (double_release_001_glb_mutex);
}

void double_release_001_tskentry_001 ()
{
    while (1)
    {
        if (rand ())
        {
            double_release_001_tsk_001 (NULL);
        }
    }
}

しかし、それを構築すると、次のようなエラーが発生します

Description Resource    Path    Location    Type
undefined reference to `_imp__pthread_create'   
undefined reference to `_imp__pthread_create'       
undefined reference to `_imp__pthread_create'   
undefined reference to `_imp__pthread_create'

私は含めpthread.hました。誰かがここで私を助けてくれますか?

4

1 に答える 1

0

このオプションをリンカに追加します:-lpthread

于 2012-10-18T21:02:20.560 に答える