Описание тега bindgen

Bindgen is a type-safe alternative to expression languages like UL and OGNL.
1 ответ

Привязки ржавчины связывают повышение SIGSEGV

Я создал привязки к библиотеке Microsoft SEAL C++ с помощью инструмента rust-bindgen. Мой конфиг: // Generate the bindings let bindings = bindgen::Builder::default() .generate_inline_functions(true) .derive_default(true) .header("./seal/src/seal/sea…
23 янв '19 в 03:36
0 ответов

Как найти заголовок Oracle "oci.h", когда я использую Bindgen в системе Windows?

Я пытался использовать bindgen автоматически генерировать привязки Rust FFI к библиотекам C и C++ для привязок OCI для базы данных Oracle. Я следовал за bindgen Руководство пользователя, и я сделал это так: extern crate bindgen; use std::env; use st…
29 авг '17 в 05:02
1 ответ

Rust вызывает C, статический const в C-коде

Я использовал rust-bindgen для генерации кода интерфейса ржавчины. Теперь в коде C вы можете найти это: extern const struct mps_key_s _mps_key_ARGS_END; #define MPS_KEY_ARGS_END (&_mps_key_ARGS_END) Обратите внимание, что в отверстии остальной к…
27 окт '14 в 03:14
1 ответ

Определения пропуска привязки из заголовочного файла C++

Я пытаюсь скомпилировать привязки для библиотеки SEAL C++. Вот мой репо. // Generate the bindings let bindings = bindgen::Builder::default() .generate_inline_functions(true) .derive_default(true) .header("./seal/src/seal/seal.h") .clang_arg("-I./sea…
20 янв '19 в 20:14
1 ответ

"unknown type name" при привязке tbs.h служб на основе TPM с помощью bindgen

Я пытаюсь связать tbs.h (Службы на основе TPM) через rust-bindgen. У меня такой заголовок: #ifndef TPM_WRAPPER_H #define TPM_WRAPPER_H #include <tbs.h> #endif В build.rs Файл содержит путь к каталогу include Windows SDK: use std::env; use std:…
28 июл '20 в 12:45
0 ответов

когда я использую bindgen в ржавчине, мне не удалось выполнить llvm-config: Os {code: 2, kind: NotFound error

В build.rs: extern crate bindgen; use std::env; use std::path::PathBuf; use std::{process::Command, str}; fn main() { println!("cargo:rustc-link-lib=llvm"); println!("cargo:rerun-if-changed=TransverseMercatorWrapper.hpp"); let ll…
19 июл '20 в 09:39
0 ответов

Как связать пользовательские c-файлы с Rust после преобразования Bindgen?

Привет, извините, если на этот вопрос уже был дан ответ, но я читал похожие проблемы, и эти решения не устранили мою проблему. Я хочу связать пользовательские файлы.c с проектом Rust в ОС Ubuntu. Я прошел через руководство по Bindgen и смог успешно …
31 июл '20 в 18:52
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 ответ

Как создать привязку Rust для серверной части postgresql с помощью rust bindgen?

Я сделал пакет Cargo со стандартным lib.rs, Cargo.toml с bindgen = "0.59" под [build-dependencies], wrapper.h с #include "rewrite/rewriteDefine.h" и build.rs вроде этого: extern crate bindgen; use std::env; use std::path::PathBuf; fn main() { // Tel…
25 июл '21 в 00:41
0 ответов

Как я могу сгенерировать #[derive(Clone)] только с помощью bindgen?

Я использую bindgen для генерации кода со следующей конфигурацией. let mut builder = bindgen::Builder::default() .clang_arg("-std=c++11") .clang_arg("-x") .clang_arg("c++") .clang_arg("-Wno-pragma-once-outside-header") .layout_tests(false) .derive_c…
02 сен '21 в 16:05
0 ответов

Как избежать неопределенного поведения с русифицированными перечислениями в bindgen?

В bindgen есть опция, которая позволяет генерировать перечисления Rust (вместо констант) из перечислений C. Однако в документации указано, что он способен генерировать код, вызывающий неопределенное поведение при определенных обстоятельствах: Исполь…
08 дек '21 в 21:55
2 ответа

Локальный ящик не найден при попытке обновить издание с помощью исправления груза

Контекст: у меня есть локальная библиотека C под названием «libmaths», которая затем использует Bindgen для создания ящика «libmaths-sys», который локально хранится в том же каталоге, что и мой проект. Проблема: я хочу использовать некоторые функции…
02 мар '22 в 13:34
1 ответ

Как я могу экспортировать функцию, написанную на Rust, в код C?

Я впервые работаю с системой Rust FFI и bindgen. Пока все идет лучше, чем я ожидал, но теперь я столкнулся с препятствием. Моя установка такова: у меня есть библиотека, написанная на C, которую я могу скомпилировать и которая предоставляет некоторые…
17 апр '22 в 17:40
0 ответов

как я могу остановить утечку памяти в ржавчине FFI?

Я пытаюсь создать некоторые привязки из библиотеки C для ржавчины с помощью bindgen, и все шло хорошо, пока я не понял, что у моей программы проблемы с утечкой памяти. Благодаря heaptrack я смог определить функцию, вызывающую эти утечки памяти, эта …
13 дек '22 в 13:40
1 ответ

Rustbindgen вызывает ошибку «недействительный идентификатор» при сборке

Кто-нибудь знает, как начать отладку этой проблемы с отступами привязки Rust? stderr thread 'main' panicked at '"vpx_codec_ctx_union_(unnamed_at_/usr/include/vpx/_/vpx_codec_h_206_3)" is not a valid Ident', /home/ignis/.cargo/registry/src/github.com…
09 июн '23 в 19:50
0 ответов

Ошибки привязки ржавчины — E0412 и E0428

Я пытаюсь создать привязки для большой библиотеки C++, не имея опыта работы с C++. Я постоянно натыкаюсь на стены и не знаю, как действовать дальше, поэтому надеюсь, что кто-нибудь увидит трассировку стека ошибок и узнает, что я делаю неправильно. К…
13 май '23 в 16:28
0 ответов

Rustbindgen: создание функций со скрытой видимостью

Я использую ржавчину-bindgen для создания привязок ржавчины для библиотеки C, которую я хочу связать статически. Библиотека использует __attribute((visibility("hidden"))) для некоторых функций, которые не должны быть доступны в общих библиотеках. К …
03 сен '23 в 11:42
0 ответов

Rust Bindgen не удается связать заголовки C в MacOS 14, библиотека не найдена

Я работаю над оболочкой Rust для базы данных quaser, которая имеет API C для всех клиентов FFI. Я использую Bindgen для генерации привязок Rust, и это работает хорошо, то есть я сгенерировал все привязки и написал для них некоторый тестовый код, кот…
20 окт '23 в 06:38