为什么C ++" Hello World"在Eclipse Mars中需要pthread(缺失)?

时间:2016-08-25 20:25:42

标签: eclipse c++11 pthreads mingw

我已经运行Eclipse Juno和MinGW 4.6.2很长一段时间了,但我需要完整的C ++ 11支持,所以我升级到Eclipse Mars并在另一个目录中安装了MinGW 4.9.3。

在Mars中,链接任何可执行文件 - 即使在C ++ Hello World项目中 - 导致" C:\ MinGW_4_9_4 \ bin ... \ ld.exe:找不到-lpthread。"

4.6.2目录(对于Juno)包含pthread,但4.9.3目录(对于Mars)没有。

为什么以及Mars如何尝试链接到pthread? (我可以把它关掉吗?)

1 个答案:

答案 0 :(得分:0)

我无法确定是否可以链接w / o pthread,但我注意到在安装(并重新安装w / maxmium选项)后,pthread不存在.MinGW 4.9.3。也许这是一个安装程序错误?

2008年,MinGW表示“使用sourceware.org的pthreads-win32需要您自担风险”。我现在看到mingw-pthreads-win32是MinGW Installation Manager安装工具(mingw-get.exe)中的标准库。我觉得MinGW对Win-32的纯粹态度有所保留,所以我安装了库。万岁 - 问题解决了! ld.exe现在可以找到-lpthread。

您可以在左窗格中的“所有包/ MinGW / MinGW库/ MinGW标准库”下的MinGW Installation Manager设置工具中找到该包;它是右侧窗格中的“mingw-pthreads-win32”包(“dev”类)。