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")