在 C++ 中使用 pthread

2022-01-11 00:00:00 linker-errors linker c++ pthreads

我在 *.cc 文件中使用 pthread.h.当我尝试使用 pthread_exit(0);pthread_join(mythrds[yy],NULL); 它说:

I am using pthread.h in a *.cc file. when I try to use pthread_exit(0); or pthread_join(mythrds[yy],NULL); it says:

.cc:(.text+0x3e): undefined reference to `pthread_exit'

当使用 gcc 在 *.c 文件中编译非常相似的代码时,它可以完美运行.如何在 c++ 中使用 pthread ..(我还添加了 -lpthread)

when complied very similar code in a *.c file with gcc it work perfect. How Can I use pthread's in c++.. (I also added -lpthread)

..
void *myThreads ( void *ptr )
{
...
pthread_exit(0); 
}
..

标志:

g++ -lpthread -Wall -static -W -O9 -funroll-all-loops -finline -ffast-math

推荐答案

您可以尝试使用 g++ 的 -pthread 选项.

You might try using the -pthread option to g++.

   -pthread
       Adds support for multithreading with the pthreads library.  This
       option sets flags for both the preprocessor and linker.

相关文章