Я читаю некоторый исходный код, который я пытаюсь скомпилировать в привязки Python, когда я пытаюсь swig -c++ -python my_interface.i
я получаю странную ошибку.
Я знаю, что исходный код написан на C ++ 11.
// module.hpp
#pragma once
namespace module
{
MODULE_API void getVersion (unsigned ¶ms);
}
// my_interface.i
%module my_api
%{
#include "module.hpp"
%}
%include "module.hpp"
У меня нет доступа к исходным файлам, только к заголовкам и общей библиотеке, которую мы можем назвать modulelib.so
.
Кто-нибудь знает, что означает MODULE_API
перед возвращаемым типом функции?
Когда я пытаюсь скомпилировать прямо сейчас, я получаю ошибку module.hpp:29: Error: Syntax error in input(1)
Когда я удаляю MODULE_API
, вывод переходит к следующему объявлению функции, потому что у них у всех такой стиль объявления, я бы удалил их все, но я чувствую, что это что-то сломает.
Прямо сейчас, когда я запускаю swig -v -wall -c++ -python my_interface.i
Я получаю сообщение об ошибке:
Language subdirectory: python
Search paths:
./
./swig_lib/python/
/usr/share/swig3.0/python/
./swig_lib/
/usr/share/swig3.0/
Preprocessing...
Starting language-specific parse...
module.hpp:6: Error: Syntax error in input(1).