[英]Linux gcc compile problems
我是Linux的新手,我嘗試編譯一個庫。 CMAKE可以很好地進行配置,但是使用make編譯時會出現如下錯誤:
錯誤:未在此范圍____stat64 statbuf中聲明“ ____stat64”; 錯誤:未在此范圍____stat64 statbuf中聲明“ ____stat64”; 錯誤:如果(NULL!= getcwd(chFile,_MAX_PATH))在此范圍內未聲明'getcwd'
也許我缺少頭文件有問題? 我的gcc版本是Thread模型:posix gcc版本5.4.0 20160609(Ubuntu 5.4.0-6ubuntu1〜16.04.11)
謝謝,英戈
如果在終端中鍵入man 3p getcwd
,您將發現您需要
#include <unistd.h>
調用getcwd。
現代的C ++跨平台方法是使用filesystem
標頭和current_path()
函數。
確認您的計算機上安裝了Linux標頭。 為了確保已安裝它們,請在基於Debian的發行版上運行:
sudo apt-get install linux-headers-generic
還要驗證您是否已包括邁克爾·蘇雷特(Michael Surette)所示的不unistd
標題的標題。 為了清楚起見,您將在下面的代碼中包含提到的標題:
#include <unistd.h>
int main() {
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.