MinGW,总是与pthreads链接

问题描述 投票:7回答:2

我最近一直试图将MinGW用于我的开发目的,但是有一些问题。

由于某种原因,它似乎总是想与pthread链接。我尝试在C中编译一个简单的hello世界并得到一个错误

ld.exe:找不到-lpthread

显然它正在搜索pthread库而不是找到它。我从MinGW-get下载了库,正如预期的那样,编译和链接工作正常。

但是,在C中仅包含stdio.h的简单hello世界剥离可执行文件后,该文件仍然是46k大。在Cygwin上用gcc编译和剥离的相同文件就像9k,MSVC也是类似的。

所以它抱怨图书馆丢失了。提供图书馆解决问题并使其工作。但是在C中剥离的hello世界仍然是46k,而在cygwin上使用gcc则是9k。

结论是,MinGW出于某种原因正在使用pthread库。

但我无法找到一种方法来禁用MinGW想要在任何地方链接pthread。具有讽刺意味的是,我在谷歌上找到的所有内容都是人们无法使用pthread与MinGW合作。

有没有办法让MinGW不想与pthread链接?

c windows pthreads mingw ld
2个回答
1
投票

在Windows上安装MinGW-W64有几种可能性。我打赌你为posix线程而不是win32安装它。再次运行安装程序并使用新创建的目录中的编译器。

MinGW Setup Screen


0
投票

重新安装SDL2以避免SDL文件和SDL2文件之间的二进制冲突将解决当前的问题。

要解决新问题,需要将SDL2分发文件(复制到MinGW的文件)复制并从中复制SDL2.dll [可分发的DLL] [1] ---将文件拖到调试和/或发布上.exe文件所在的文件夹。(。exe + dll - >对吗?)将dll移动到exes。构建/运行它应该工作的程序!您应该看到欢迎消息! https://www.caveofprogramming.com/c-for-complete-beginners/setting-up-sdl-windows.html

© www.soinside.com 2019 - 2024. All rights reserved.