在编译c ++中,未在此作用域中声明错误“访问”

时间:2016-10-15 20:34:44

标签: c++ g++

我已经在github上下载了this代码,但我在文件make第212行util.cpp处出现此错误。它说

  

错误:未在此范围内声明“访问”

     

int ret = access(tmppath,0); //&安培; S);

代码的一部分是:

#ifndef WIN32
int yatc_makedirs(const char* path, int mode)
{
    char* tmppath = (char*)malloc(strlen(path)+1);
    for(const char* c = path; *c; c++)
    {
    if(*c=='/' && c-path > 0)
    {
        memcpy(tmppath,path,c-path);
        tmppath[c-path]=0;
        struct stat s;
        int ret = access(tmppath, 0); //&s);
        if(ret)
        {
            int mdret;
            if((mdret=mkdir(tmppath, mode)))
            {
                free(tmppath);
                return mdret;
            }
        }
    }
}
free(tmppath);
return 0;
}
#endif

包括:

#include <sstream>
#include <string>
#include <vector>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#ifndef WIN32
#include <sys/stat.h> // mkdir
#include <errno.h>
#endif
#include "util.h"

#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <shellapi.h> // needed for ShellExecute
#endif

#include "macutil.h"
#include "product.h"


#define WINCE_INSTALLDIR "/Storage Card/YATC/"

我没有找到关于这个&#34;访问&#34;的文档。功能,我错过了一些包含在这里? g++命令(在linux终端上)是:

  

g ++ -DHAVE_CONFIG_H -I。 -DDEBUGLEVEL_BUILDTIME = 0 -DUSE_OPENGL -DDESTDIRS = \&#34; / usr / local:/ usr / local / share /:/ usr / local / share /:/ usr / local / share / yatc-data /:/ usr /本地/共享/ yatc数据/:在/ usr /本地/共享/胫骨/:在/ usr /本地/共享/胫骨/ \&#34; -Wall -g -O2 -MT util.o -MD -MP -MF .deps / util.Tpo -c -o util.o util.cpp

0 个答案:

没有答案