clibgen.generateLibraryDefinition и clibgen.buildInterface функции перестали работать при парсинге некоторых заголовочных файлов на macOS платформе.
Предположим, что у вас есть два заголовочных файла. Заголовочный файл simple1.hpp включает стандартный заголовок, такой как vector.
#ifndef SIMPLE1_HPP #define SIMPLE1_HPP #include <vector> // class definitions // functions #endif
Заголовочный файл simple2.hpp включает simple1.hpp.
#include "simple1.hpp" // class definitions based on simple1.hpp content // other functionality
Этот вызов clibgen.generateLibraryDefinition генерирует ошибки, анализирующие заголовочный файл на macOS.
clibgen.generateLibraryDefinition(["simple1.hpp","simple2.hpp"],"PackageName","simple")
Чтобы включать это содержимое в библиотеку, создайте заголовочный файл обертки с содержимым simple1.hpp и simple2.hpp. Например, создайте wrapsimple.hpp с этими операторами:
#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 functionality
Создайте определение библиотеки definesimple.mlx при помощи заголовочного файла обертки.
clibgen.generateLibraryDefinition("wrapsimple.hpp","PackageName","simple")