Как связать пользовательские c-файлы с Rust после преобразования Bindgen?
Привет, извините, если на этот вопрос уже был дан ответ, но я читал похожие проблемы, и эти решения не устранили мою проблему. Я хочу связать пользовательские файлы.c с проектом Rust в ОС Ubuntu. Я прошел через руководство по Bindgen и смог успешно собрать и запустить его, поэтому я знаю, что моя инструментальная цепочка способна связывать файлы extern C с программой на Rust. Bindgen успешно сгенерировал файл bindings.rs, поэтому проблем нет. Я получаю следующую ошибку при попытке построить с:
cargo build
.
= note: /bin/ld: cannot find -ltest
collect2: error: ld returned 1 exit status
По сути, я сделал очень простой файл C (test.c), который содержит одну простую функцию. Затем я создаю файл.so (libtest.so) и создаю файл.config, который я использовал
sudo ld config
а также
sudo ld config -v
и подтвердил, что моя библиотека видна ld:
/home/fred/mylib:
libtest.so.1 -> libtest.so.1
Я сравнил свой.toml с.toml из примера, который работал успешно, и они выглядят одинаково.
Первоначально у меня была эта проблема с примером bindgen, и я исправил ее, правильно загрузив библиотеку разработчика с помощью
sudo apt-get install libbz2-dev
вместо извлечения из архива, поэтому я уверен, что проблема в том, что мне не хватает файла или я помещаю его не в то место, но я не совсем понимаю, что это будет.