Как указать тип int32_t в tcl при взаимодействии с классом C++ через SWIG?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как указать тип int32_t в tcl при взаимодействии с классом C++ через SWIG?

Сообщение Anonymous »

Я новичок в tcl и swig и подключаю существующую библиотеку C++ к tcl через swig. Я могу успешно загрузиться в Swig. Некоторые из моих API принимают параметры типа int32_t, определенные в . Когда я пытаюсь вызвать эти методы через tcl, я получаю сообщение «Ошибка типа в методе... аргумент 2 типа int32_t». Я не знаю, как заставить тип моего второго параметра быть совместимым с тем, что ожидает tcl. Я Я создал целочисленную переменную в tcl, но tcl имеет строгую проверку типов и считает, что целое число несовместимо с параметром int32_t метода C++.
Я много гуглил, но не могу определить какие-либо ресурсы для того, как определенные пользователем типы (например, int32_t) в C++ могут быть зеркалированы/совместимы с переменными tcl. Я вижу, что большинство переменных tcl по умолчанию являются строковыми, но их можно заставить иметь другие типы, например целочисленные. , но не вижу способа, с помощью которого tcl может создать такой тип, как int32_t.
Я пробовал различные синтаксисы tcl, такие как {int32_t $var1}, возможно, приведение типов, тоже пробовал. создание объекта int32_t, аналогичного тому, как был создан мой класс, например, int32_t var2, но tcl говорит, что int32_t — неизвестная команда.
Я также попробовал включить cstdint в свой файл .i (это где определено int32_t). Чтобы это заработало, мне пришлось указать путь включения как часть командной строки swig, поскольку препроцессор swig не соответствует стандартной информации о пути поиска c.
Мой вопрос несколько аналогично вопросу ниже, который не имеет четкого решения и касается констант перечисления, которые могут отличаться от типа int32_t, определенного в cstdint?
как передать значения перечисления из TCL скрипт в класс C++ с использованием Swig
В вопросе выше упоминается использование карт типов, и это может быть решение, которое мне нужно? но это кажется довольно сложным для такой простой проблемы с интерфейсом?
Спасибо за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-via-swig
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»