nlfiedler / magick-rust

Rust bindings for ImageMagick
https://crates.io/crates/magick_rust
Apache License 2.0
254 stars 68 forks source link

Unable to build with ImageMagick v7.1.1-21 on Windows #110

Closed gyk closed 10 months ago

gyk commented 11 months ago

Error message:

  C:\Program Files\ImageMagick-7.1.1-Q8\include\MagickCore/magick-baseconfig.h:279:6: error: ImageMagick was build with a 64 channel bit mask and that requires a C++ compiler
  thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ClangDiagnostic("C:\\Program Files\\ImageMagick-7.1.1-Q8\\include\\MagickCore/magick-baseconfig.h:279:6: error: ImageMagick was build with a 64 channel bit mask and that requires a C++ compiler\n")', C:\Users\Dell\.cargo\registry\src\index.crates.io-6f17d22bba15001f\magick_rust-0.19.1\build.rs:145:43

The same code builds without a problem when $env:IMAGE_MAGICK_DIR points to the installation path of ImageMagick v7.1.1-4. Also,

cd 'C:\Program Files\ImageMagick-7.1.1-Q8\include'

# failed
bindgen MagickWand/MagickWand.h -o $OUT\magick.rs -- -I .

# succeeded
bindgen MagickWand/MagickWand.h -o $OUT\magick.rs -- -I . -x c++

It appears to be due to a recent change to VisualMagick.