clibgen.generateLibraryDefinition
и clibgen.buildInterface
функционируют сбой при парсинге некоторых заголовочных файлов на macOS платформе.
Предположим, что у вас есть два заголовочных файла. Заголовочный файл simple1.hpp
включает стандартный заголовок, такой как iostream
или 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")