相关疑难解决方法(0)

即使我包含正确的头文件,为什么会出现"未定义的引用"错误?

当我尝试编译这个程序时,它失败了:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>

void *WriteNumbers(void *threadArg)
{
    int start, stop;

    start = atoi((char *)threadArg);
    stop = start + 10;

    while (start < stop)
    {
         printf("%d\n", start++);
         sleep(1);
    }
    return 0;
}

int main(int argc, char **argv)
{
        pthread_t thread1, thread2;

        // create the threads and start the printing
        pthread_create(&thread1, NULL, WriteNumbers, (void *)argv[1] );
        pthread_create(&thread2, NULL, WriteNumbers, (void *)argv[2]);

        pthread_join(thread1, NULL);
        pthread_join(thread2, NULL);

        return 0;
}
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

tmp/ccrW21s7.o: In function `main':
pthread.c:(.text+0x83): undefined reference …
Run Code Online (Sandbox Code Playgroud)

c pthreads

16
推荐指数
2
解决办法
3万
查看次数

标签 统计

c ×1

pthreads ×1