如何为gcc链接pthread_win32?

时间:2014-09-27 14:09:18

标签: c gcc dll

我阅读了pthreads_win32库的README,因为我使用的是MinGW,有一节说明如何使用库来运行程序:

  

如果你正在使用pthreadGC.dll:

     

使用三个头文件,pthreadGC.dll和libpthreadGC.a中   与您的应用程序myapp.c相同的目录,您可以编译,链接   并在Mingw32下运行myapp.c,如下所示:

     

gcc -o myapp.exe myapp.c -I。 -L。 -lpthreadGC

我下载了所有三个头文件,另外两个(他们在这个版本中实际上称为pthreadGC2.dll和libpthreadGC2.a)并将它们全部放在我当前的目录中。

现在如果我使用这一行编译,除了包含pthread库的行之外不使用pthread函数,则没有错误:

gcc -o project1.exe project1.c -I。 -L。 -lpthreadGC2

但是如果我尝试实际使用任何函数,那么在使用相同的行编译时我会得到它。

C:\ Users \ Michael \ AppData \ Local \ Temp \ cc4ftpKo.o:project1.c :(。text + 0x27):undefine     d引用_imp__pthread_exit' C:\Users\Michael\AppData\Local\Temp\cc4ftpKo.o:project1.c:(.text+0xe0): undefine d reference在此处输入代码to _ imp__pthread_create'     C:\ Users \ Michael \ AppData \ Local \ Temp \ cc4ftpKo.o:project1.c :(。text + 0x161):undefin     ed引用_imp__pthread_exit' c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\M ichael\AppData\Local\Temp\cc4ftpKo.o: bad reloc address 0x20 in section。eh_fra     我'     c:/ mingw / bin /../ lib / gcc / mingw32 / 4.8.1 /../../../../ mingw32 / bin / ld.exe:最后一个链接      失败:操作无效     collect2.exe:错误:ld返回1退出状态

任何想法可能是什么?我对C中的库并不熟悉。

0 个答案:

没有答案