我已经在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