Описание тега rust-bindgen
0
ответов
Каковы решения для обертывания глобальной константы static const в стиле C в Rust с помощью Bindgen?
Я создаю привязки Rust для библиотеки C, которая определяет списки стандартных значений констант по умолчанию: // C typedef struct RMW_PUBLIC_TYPE rmw_qos_profile_t { size_t depth; enum rmw_qos_reliability_policy_t reliability; // ... } rmw_qos_prof…
20 мар '20 в 17:36
0
ответов
Есть ли хороший способ отладить использование CBindgen в моих build.rs?
Мой сценарий build.rs не работает в моем конвейере CI (Azure Pipelines), но его локальный запуск работает нормально. Я точно знаю, что не могу сгенерировать заголовок cbindgen, но сообщение об ошибке просто перечисляет файлы, которые он проанализиро…
01 май '20 в 21:44
0
ответов
Как безопасно обернуть указатели C в структуры ржавчины
Я создаю безопасные привязки для библиотеки C в Rust, и у меня возникла странная проблема. Я создал структуру, чтобы владеть небезопасным указателем на объекты, возвращаемые библиотекой, и безопасно их освобождать. Вот что у меня есть: pub struct Vi…
03 фев '20 в 18:51
2
ответа
Как преобразовать перечисление в стиле C, созданное bindgen, в другое перечисление?
Я создаю привязки в Rust для библиотеки C и перечислений, сгенерированных Bindgen, например: // Rust #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum rmw_qos_history_policy_t { RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT = 0, RMW_QOS_POLICY_HIS…
18 мар '20 в 14:14
4
ответа
Как получить размер поля структуры в Rust без его создания
У меня есть структура с байтовым массивом. Эта структура фактически происходит из привязок FFI, созданных bindgen, и ее размер определяется в коде C с помощью макроса, то есть: Код C: #define FOO_SIZE 100 struct the_struct { char foo[FOO_SIZE]; /* o…
05 апр '20 в 19:49
0
ответов
Невозможно создать привязки для дерева файлов C
Поэтому я хочу использовать телеграмму JSON API. Насколько я понимаю, и, пожалуйста, поправьте меня, если я ошибаюсь, мне нужно вызвать функцию C.td_json_client_create(). Telegram предлагает создать TDLib, что я и сделал. Затем у меня, среди других …
07 дек '19 в 15:02
1
ответ
Ошибка связывания в ржавчине bindgen
Итак, у меня есть библиотека заголовков (каталог файлов.h), которую мне нужно использовать в моем коде ржавчины. Чтобы заставить эту работу работать, я искал различные ящики, чтобы помочь мне добиться этого, и, похоже, bindgen - самый многообещающий…
01 июл '20 в 11:39
1
ответ
Rust Bindgen: настройка пути включения в окнах
Я новичок в разработке Rust под Windows. Я пытаюсь привязать библиотеку, libk4a, как в Windows, так и в Linux. В Linux он устанавливается как libk4a, под обычными местами, /usr/local/include/k4a/k4a.h а также /usr/local/lib/libk4a.so. Я последовал п…
27 янв '20 в 04:28
1
ответ
Как правильно обернуть указатель функции C в Rust?
У меня есть структура C Fooс указателем на функцию. В моих привязках Rust я хотел бы разрешить пользователям устанавливать этот указатель на функцию, но я бы хотел, чтобы пользователям не приходилось иметь дело с типами FFI. foo.h struct Foo { void*…
01 апр '20 в 13:43
0
ответов
Как преобразовать статическую глобальную переменную, созданную Bindgen, в глобальную константу?
Bindgen генерирует это из static const Глобальная структура в стиле C: pub struct rmw_qos_profile_t { pub depth: usize, pub deadline: rmw_time_t, // ... } extern "C" { #[link_name = "\u{1}rmw_qos_profile_sensor_data"] pub static rmw_qos_profile_sens…
19 мар '20 в 02:40
1
ответ
Увидеть, что bzlib.h не найден при попытке использования учебника Bindgen
Я знаю, что есть похожий пост, но я следил за ним, но все еще вижу проблему, поэтому подумал, что попрошу еще раз, извините. Я загрузил bbindgen-tutorial-bzip2-sys и попытался запустить его, но получаю следующую ошибку wrapper.h:1:10: fatal error: '…
30 июл '20 в 05:30
0
ответов
Использование макросов Rust для преобразования и разделения перечисления в стиле C, созданного bindgen
Я делаю привязки Rust для существующей проприетарной библиотеки C. Библиотека определяет довольно большое перечисление, содержащее возможные коды состояния и ошибок, то есть: enum RET_CODE { STA_OK = 0, STA_SOME_CONDITION, STA_ANOTHER_CONDITION, /* …
20 ноя '19 в 17:34
1
ответ
Rust bindgen не может найти библиотеку для конкретной платформы?
Я пытаюсь перенести свое простое приложение с C на Rust. Он работал только на моем Mac, с библиотекой только на Mac. Вот упрощенная версия неисправной части в коде C // myLog.h #include <os/log.h> // macOS header void debug(const char *str); /…
27 сен '20 в 23:04
1
ответ
Проблемы с компоновкой файлов заголовков с помощью Rust bindgen
Согласно руководству по Rust bindgen на https://rust-lang.github.io/rust-bindgen/tutorial-3.html, я пытаюсь сгенерировать FFI для существующих файлов заголовков C. Однако у меня возникают проблемы со связыванием файлов заголовков. Репозиторий по адр…
16 окт '20 в 16:38
0
ответов
Rust bindgen unaligned tcache chunk error
Я работаю над привязкой avahi lib в ржавчине, и у меня возникла ошибка времени выполнения: malloc(): unaligned tcache chunk detected код ошибки: pub fn register_service( &mut self, name: String, svc_type: String, port: u16, txt: &[String], )…
11 сен '20 в 19:24
1
ответ
Ошибка Rust bindgen clang, несовместимая константа для этой функции __builtin_neon
Попытка сгенерировать привязки для заголовка Obj-C++, который является частью кроссплатформенной аудио библиотеки Superpowered с помощью rust bindgen. Я в Каталине 10.15.6, clang version 10.0.1 Target: x86_64-apple-darwin19.6.0 Thread model: posix I…
20 сен '20 в 15:05
1
ответ
Bindgen не может найти clang на OSX
Хотя я уверен, что я что-то сделал не так, я не могу этого найти. я использую bindgen = "0.55.1" и пытаясь создать pjsipпривязки, хотя до этого проблема вроде бы хорошо решена. Это результат сборки: error: failed to run custom build comman…
31 окт '20 в 22:56
0
ответов
Неопределенные символы с помощью rust-bindgen, но могут компилироваться с помощью cc
Я пытаюсь использовать rust-bindgen, чтобы иметь возможность вызывать функции glfw и OpenGL. bindgen правильно генерирует привязки, однако, когда я действительно создаю свой проект, он дает мне ошибки неопределенных символов (я запускаю macOS 10.15.…
12 ноя '20 в 14:55
1
ответ
Импорт Rust в коде wasm-pack вызывает ошибку JS
Я получаю ошибку JS: Uncaught (in promise) TypeError: WebAssembly.instantiate(): Import #0 module="env" error: module is not an object or function Когда я просматриваю файл wasm в инструментах разработчика Chrome, я вижу вверху такие операторы импор…
07 июл '21 в 09:30
1
ответ
Rust bindgen ignore включает конкретное включение из файла заголовка
У меня есть файл заголовка, скажем, greetings.h: include <hello.h>; include <bye.h>; include <hola.h>; ... Я использую bindgen в ржавчине, чтобы сгенерировать этот файл от заголовка c до ржавчины. Но я хочу игнорировать создание in…
08 июл '21 в 17:39