Errors Parsing Header Files on macOS
The clibgen.generateLibraryDefinition and clibgen.buildInterface functions fail when parsing some header files on the
macOS platform.
Suppose that you have two header files. Header file simple1.hpp
includes a standard header, such as vector.
#ifndef SIMPLE1_HPP
#define SIMPLE1_HPP
#include <vector>
// class definitions
// functions
#endifHeader file simple2.hpp includes simple1.hpp.
#include "simple1.hpp"
// class definitions based on simple1.hpp content
// other functionalityThis call to clibgen.generateLibraryDefinition generates errors
parsing the header file on macOS.
clibgen.generateLibraryDefinition(["simple1.hpp","simple2.hpp"],"InterfaceName","simple")
To include this content in the library, create a wrapper header file with the contents of
simple1.hpp and simple2.hpp. For example, create
wrapsimple.hpp with these statements:
#ifndef SIMPLE1_HPP
#define SIMPLE1_HPP
#include <vector>
// class definitions
// functions
#endif
// Start of simple2.hpp content. Do not add the include simple1.hpp statement.
// class definitions based on simple1.hpp content
// other functionalityCreate the library definition definesimple.m by using the wrapper
header file.
clibgen.generateLibraryDefinition("wrapsimple.hpp","InterfaceName","simple")