$ make
...
g++ -c -g -w -O2 -Wall -std=c++14 -msse -msse2 -fpermissive -I./ -I./libs/glm -I./libs/fmt file.cpp -o file.o
In file included from file.cpp:10:0:
file.h:85:17: error: conflicting declaration ‘typedef class FileStd File’
typedef FileStd File;
^
In file included from file.h:12:0,
from file.cpp:10:
./prerequisites.h:91:7: note: previous declaration as ‘class File’
class File;
^
file.cpp: In member function ‘virtual bool FileStd::open(const string&, const char*)’:
file.cpp:36:43: error: ‘directoryExists’ was not declared in this scope
if (!directoryExists(directory(filepath)) && strchr(attr, 'w') != nullptr)
^
file.cpp:38:43: error: ‘createDirectory’ was not declared in this scope
if (createDirectory(directory(filepath)))
^
file.cpp: In function ‘bool createDirectory(const string&)’:
file.cpp:118:34: error: ‘directoryExists’ was not declared in this scope
if (directoryExists(dirr.c_str())) {
^
file.cpp:124:51: error: ‘directoryExists’ was not declared in this scope
if (!directoryExists(dirr.substr(0, pos).c_str()))
^
file.cpp: In function ‘bool copyFile(const char*, const char*)’:
file.cpp:212:8: error: aggregate ‘File fw’ has incomplete type and cannot be defined
File fw;
^
file.cpp: In function ‘std::vector<std::__cxx11::basic_string<char> > listFilesInDirectory(const string&, bool)’:
file.cpp:294:54: error: too few arguments to function ‘std::vector<std::__cxx11::basic_string<char> > listFilesInDirectory(const string&, bool)’
auto subdir = listFilesInDirectory(full_file_name);
^
file.cpp:244:26: note: declared here
std::vector<std::string> listFilesInDirectory(const std::string &directory, boo
^
makefile:28: recipe for target 'file.o' failed
...
I didn't check Windows, but I think it wouldn't build as well. These look like legitimate C++ errors. There's probably a few functions missing inside of the src/file.h
that are needed in src/file.c
or something like that.