I want to generate rust code which uses cpp
crate (cpp
crate is used for writing inline C++ in Rust).
Everything was working nicely until I had to generate code for including headers:
cpp::cpp! {{
#include <.../.../header1.hpp>
#include <.../.../header2.hpp>
}}
The problem is that when I put #include
into a quote
macro it tries to interpolate it, which I wish it didn't:
...
let cpp_includes = quote::quote! {
cpp::cpp! {{
#include <.../.../header1.hpp>
#include <.../.../header2.hpp>
}}
};
let cpp_includes = syn::parse2::<syn::Item>(cpp_includes).unwrap();
...
Doesn't work!
Edit:
Using string doesn't work either, as generated code is enclosed in double quotes.
let cpp_includes = "
#include <.../.../header1.hpp>
#include <.../.../header2.hpp>
";
let cpp_includes = quote::quote! {
cpp::cpp! {{
#cpp_includes
}}
};
let cpp_includes = syn::parse2::<syn::Item>(cpp_includes).unwrap();
Is bad as well!