vs2017配置pthread.h的方法


一、背景(以下為走不通的配置方法!)

筆者最開始配置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 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

實測可行,如下圖。

 

這個操作之后就沒有報錯了,很順利地運行了出來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM