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编译问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在linux中安装gcc编译器?

linux 用g++编译c++代码的问题

GCC/MingW 在不同版本上编译

Linux下gcc编译器和gdb调试

linux下gcc编译的时候提示说头文件找不到?

linux下c编程怎么编译