作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Rust 编写的简单整数加法函数与 Java 的 Project Panama 一起使用。使用 cbindgen
生成绑定(bind)crate,运行 jextract 时出现以下错误:
jextract -t org.adder -L . -l adder-java --record-library-path -I /Library/Developer/CommandLineTools/usr/include/c++/v1/cstdarg bindings.h -o adder-java.jar
java.lang.RuntimeException: /Users/ash/Code/adder/bindings.h:1:10: fatal error: 'cstdarg' file not found
我看过
the examples given ,但无法破译我做错了什么。
#[no_mangle]
pub extern "C" fn addition(a: u32, b: u32) -> u32 {
a + b
}
以及生成的绑定(bind)(我猜还需要
cstdint
、
cstdlib
和
new
的来源?):
#include <cstdarg>
#include <cstdint>
#include <cstdlib>
#include <new>
extern "C" {
uint32_t addition(uint32_t a, uint32_t b);
} // extern "C"
我需要做什么才能获得
jextract
找到这些文件?
最佳答案
正确的命令是jextract -C -x -C c++ -I /Library/Developer/CommandLineTools/usr/include/c++/v1 -t adder -o adder.jar bindings.h
.
通-x c++
clang ,包括-I
指定的路径.
关于java - "cstdarg file not found"在 Rust 项目的 C 绑定(bind)上运行 jextract 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62760145/
我正在尝试使用 Rust 编写的简单整数加法函数与 Java 的 Project Panama 一起使用。使用 cbindgen 生成绑定(bind)crate,运行 jextract 时出现以下错误
我想使用 Project Panama 的 jextract用于构建到 Rust 库的 Java 绑定(bind)的工具。运行以下命令时,出现错误: jextract -C -x -C c++ -I
我是一名优秀的程序员,十分优秀!