一、背景(以下為走不通的配置方法!)
筆者最開始配置pthread.h,采用的是vs自動安裝的方法,如圖所示。
點擊完“管理NuGet程序包”之后,彈出一個頁面,如下,在“瀏覽”中輸入pthread。
然后十分自然順暢地點擊安裝pthread這個庫,安裝完之后,在代碼中#include<pthread.h>,倒也沒報錯了。
但是會出現 error C2011: “timespec”:“struct”類型重定義 這個錯誤。
經過百度,在https://blog.csdn.net/u010536615/article/details/70231441博客中發現如下方法。
要在pthread.h中的
#if !defined( PTHREAD_H )
#define PTHREAD_H
#define PTHREAD_H
下面加上
#define HAVE_STRUCT_TIMESPEC
加上之后這個error倒沒出現了,但是出現了另外兩個鏈接的LNK2019報錯,無法解析的外部符號。
得,鏈接庫出錯,那要不重裝pthread吧。
二、走得通的方法
搜索了一下pthread安裝的方法,找到了一篇博客給出了資源,另一篇博客給出了配置方法,這里就不重寫了,鏈接如下,同學們跟着配置就好。
配置方法博客:https://blog.csdn.net/lujiandong1/article/details/45175153
由於筆者用的是debug x64模式,所以只配了x64的路徑和添加了附加依賴項等。
實測可行,大家可以試試。
以上方法配置完之后,還是會出現error C2011: “timespec”:“struct”類型重定義 這個錯誤。
這次又搜索到第二個方法,見博客:https://blog.csdn.net/qq_23494915/article/details/78732389
實測可行,如下圖。
這個操作之后就沒有報錯了,很順利地運行了出來。