我想知道是否可以手动将不存在的头文件添加到bindgen构建器中。 我正在使用的 C 代码库在编译过程中生成一些头文件,因此不会将它们直接包含在代码库中。不过 clang 过程需要它们。
假设我有一个头文件,其中包含
export.hpp
,如下所示:
#include "foo/export.hpp"
编译器会在编译过程中添加类似这样的内容:
//foo/export.hpp
#ifndef FOO_EXPORT
#define FOO_EXPORT
#endif
我可以通过简单地创建这些文件来解决这个问题,但这显然不理想,因为它们可能会干扰编译过程。
简短的回答是否定的。
长的答案是:您实际上应该编写一个
build.rs
文件,以确保它调用首先生成此头文件的编译过程。通常这个头文件存储/缓存在 target
文件夹中。
只有在这个预编译步骤之后,您的实际货物构建过程才会发生。