C++ MinGW-cmake:“pthread\u mutex\u init';

C++ MinGW-cmake:“pthread\u mutex\u init';,c++,cmake,mingw,C++,Cmake,Mingw,尝试在MinGW上使用Cmake构建某些库,但出现以下错误: c:/mingw/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libpthread.a(libwinpthread_la-mutex.o):mutex.c:(.text+0x70): multiple definition of `pthread_mutex_lock' lib/tokenizer/lib

尝试在MinGW上使用Cmake构建某些库,但出现以下错误:

c:/mingw/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libpthread.a(libwinpthread_la-mutex.o):mutex.c:(.text+0x70): multiple definition of `pthread_mutex_lock'
lib/tokenizer/libOpenNMTTokenizer.dll.a(d000208.o):(.text+0x0): first defined here
c:/mingw/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libpthread.a(libwinpthread_la-mutex.o):mutex.c:(.text+0x320): multiple definition of `pthread_mutex_unlock'
lib/tokenizer/libOpenNMTTokenizer.dll.a(d000211.o):(.text+0x0): first defined here
c:/mingw/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libpthread.a(libwinpthread_la-mutex.o):mutex.c:(.text+0x450): multiple definition of `pthread_mutex_init'
lib/tokenizer/libOpenNMTTokenizer.dll.a(d000207.o):(.text+0x0): first defined here
c:/mingw/mingw/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libpthread.a(libwinpthread_la-mutex.o):mutex.c:(.text+0x490): multiple definition of `pthread_mutex_destroy'
lib/tokenizer/libOpenNMTTokenizer.dll.a(d000206.o):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: *** [CMakeFiles\onmt.dir\build.make:248: libonmt.dll] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:73: CMakeFiles/onmt.dir/all] Error 2
mingw32-make: *** [Makefile:129: all] Error 2

请将错误信息重新添加到文章中,并将其格式化为代码,而不是引用。可以通过选择文本并按下Ctrl+K{}按钮来执行代码格式化。如果没有build(compile+link)命令(特别是对于libOpenNMTTokenizer.dll(.a)和libonmt.dll),很难理解这一点。很可能您不止一次链接libpthread(它是静态的)。