sup*_*bon 7 c windows mingw pthreads ld
我最近一直试图将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的不希望与并行线程链接?
小智 0
重新安装 SDL2 避免 SDL 文件和 SDL2 文件之间的二进制冲突将解决当前问题。
要解决新问题,需要转到 SDL2 分发文件(复制到 MinGW 的文件)并从中复制 SDL2.dll [DLL from distributable][1]--- 通过将文件拖动到调试和/或发布版本上.exe 文件所在的文件夹。(.exe + dll -> 对吗?)将 dll 移动到 exe。构建/运行应该可以工作的程序!您应该会看到一条欢迎消息!https://www.caveofprogramming.com/c-for-complete-beginners/setting-up-sdl-windows.html