Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The latest ImageMagick does not install CORE_RL_MagickCore_.lib on Windows #7272

Closed
Watson1978 opened this issue Apr 24, 2024 · 7 comments
Closed

Comments

@Watson1978
Copy link

ImageMagick version

7.1.1-30

Operating system

Windows

Operating system, version and so on

11

Description

I maintain RMagick, the ImageMagick binding for Ruby.
To build the binding, it depends on CORE_RL_MagickCore_.lib.
Since ImageMagick-7.1.1-30, the installer no longer installs CORE_RL_MagickCore_.lib.
Therefore, our binding installation is no longer available....

Is it possible to get the CORE_RL_MagickCore_.lib installed again?

And ImageMagick 6 has same issue....

Thanks

Steps to Reproduce

rmagick/rmagick#1584

Images

No response

@dlemstra
Copy link
Member

We have removed the .lib files from the installer because you probably don't need those .lib files. I suspect that it is just being used to detect that ImageMagick is installed. I think you can fix this by tweaking the extconf.rb file. You don't need to link those .lib files those files are available as .dll files and should be referenced instead?

@Watson1978
Copy link
Author

Watson1978 commented Apr 24, 2024

We are using C++ for bindings.
To resolve symbols for ImageMagick API when building source code, it requires the CORE_RL_MagickCore_.lib.

@dlemstra
Copy link
Member

Those symbols are exported in the CORE_RL_MagickCore_.dll file. You should be able to reference those symbols with a dllimport instead?

@Watson1978
Copy link
Author

Watson1978 commented Apr 24, 2024

Is the ImageMagick API interface immutable? It is a lot of work to keep up with every change, and we do not want to do it.

Previously, any changes to the interface would be noticed by an error at build time.

@dlemstra
Copy link
Member

If you use a dllimport you are still using the same header files and this will result in a build error when the api changes. We don't change our API interface that often and when we do it will be a new method. You would need to do the same amount of work when you are using our .lib or .dll files. The only difference would be how the MagickCore library is linked.

@Watson1978
Copy link
Author

OK, I try to change build proccess of our binding.
Thanks

@dlemstra
Copy link
Member

Feel free to come back here or ping me in the other issue if you need help with this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants