Linux gcc编译问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux gcc编译问题相关的知识,希望对你有一定的参考价值。
我是Linux的新手,我试图编译一个库。 CMAKE非常适合配置,但是在使用make编译时,我会收到如下错误:
错误:'____stat64'未在此范围____stat64 statbuf中声明;错误:'____stat64'未在此范围____stat64 statbuf中声明;错误:'getcwd'未在此范围内声明if(NULL!= getcwd(chFile,_MAX_PATH))
也许我有丢失头文件的问题?我的gcc版本是Thread模型:posix gcc版本5.4.0 20160609(Ubuntu 5.4.0-6ubuntu1~16.04.11)
谢谢,Ingo
答案
验证您的计算机上是否安装了linux标头。要确保它们已安装,请在基于Debian的发行版上运行:
sudo apt-get install linux-headers-generic
同时验证您是否包括unistd
标题,正如Michael Surette已经展示的那样。为清楚起见,您将包括下面提到的标题:
#include <unistd.h>
int main() {
...
}
另一答案
如果您在终端中键入man 3p getcwd
,您会发现您需要
#include <unistd.h>
调用getcwd。
现代C ++跨平台的方法是使用filesystem
头和current_path()
函数。
以上是关于Linux gcc编译问题的主要内容,如果未能解决你的问题,请参考以下文章