如何缓存虚拟头文件?

问题描述 投票:0回答:1

我想知道是否可以手动将不存在的头文件添加到bindgen构建器中。 我正在使用的 C 代码库在编译过程中生成一些头文件,因此不会将它们直接包含在代码库中。不过 clang 过程需要它们。

假设我有一个头文件,其中包含

export.hpp
,如下所示:

#include "foo/export.hpp"

编译器会在编译过程中添加类似这样的内容:

//foo/export.hpp

#ifndef FOO_EXPORT
#define FOO_EXPORT
#endif

我可以通过简单地创建这些文件来解决这个问题,但这显然不理想,因为它们可能会干扰编译过程。

rust clang rust-bindgen
1个回答
0
投票

简短的回答是否定的。

长的答案是:您实际上应该编写一个

build.rs
文件,以确保它调用首先生成此头文件的编译过程。通常这个头文件存储/缓存在
target
文件夹中。

只有在这个预编译步骤之后,您的实际货物构建过程才会发生。

© www.soinside.com 2019 - 2024. All rights reserved.