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