Я использую Rust, bindgen и сценарий сборки для работы с некоторыми привязками FFI к библиотеке.
Эта библиотека построена с использованием OpenMP , поэтому при связывании с ним я обычно передаю флаг -fopenmp
компилятору.
Как мне установить этот флаг с помощью build.rs
при сборке библиотекиby Cargo?
В настоящее время сборка с использованием Cargo завершается сбоем, при этом команда сбоя выглядит примерно так:
cc -Wl,--as-needed -Wl,-z,noexecstack -m64 -l gomp -l stdc++
...skipping dozens of paths/files...
-Wl,-Bdynamic -l dl -l rt -l pthread -l gcc_s -l c -l m -l rt -l pthread -l util
, что завершается ошибкой с сотнями ошибок undefined reference to 'GOMP_parallel_end'
.
Повторный запусксгенерированная выше команда с добавленным вручную флагом -fopenmp
успешна.
Я могу указать флаг с помощью RUSTFLAGS='-C link-args=-fopenmp'
перед компиляцией, но есть ли способ указать его из build.rs
?