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

Windows support #43

Open
msrd0 opened this issue Sep 4, 2023 · 3 comments
Open

Windows support #43

msrd0 opened this issue Sep 4, 2023 · 3 comments
Labels
help wanted Extra attention is needed

Comments

@msrd0
Copy link
Owner

msrd0 commented Sep 4, 2023

Currently, this project relies on the rlottie C library to be precompiled and pkg-config to be able to find it. This seems to be incompatible with windows.

I see two options going forward:

  • Somehow detect precompiled versions of rlottie on Windows. No idea if that's possible, and which tools are necessary to do this.
  • Add a vendor feature similar to other -sys crates in the ecosystem that downloads and compiles a version of rlottie and statically links it.

These options are not incompatible with each other, so both could be implemented if desired. As I don't have windows, I cannot implement this myself, but PRs are welcome. Any implementing PR needs to have a CI setup that tests everything on windows as I won't be able to test locally.

@dzoidbrg
Copy link

dzoidbrg commented Sep 4, 2023

I am a proud Linux user: ), but I have a windows machine so I will try hacking this together

@LuckyTurtleDev
Copy link
Contributor

The vendor feature has the advantage that the user does not have to care, how to install rlottie.
As example rlottie is also not package for mac os brew.

@funatsufumiya
Copy link

funatsufumiya commented Apr 12, 2024

I could run rlottie-rs on my windows.

Here is the process what I did:

  • install mingw, ninja, llvm, and pkgconfiglite using chocolatey.
$ choco install mingw -y
$ choco install ninja -y
$ choco install llvm -y
$ choco install pkgconfiglite -y
  • Install rlottie. ( ninja install may need administrator privillege )
$ git clone --depth=1 https://github.com/Samsung/rlottie
$ cd rlottie
$ meson build
$ ninja -C build
$ ninja install -C build
  • set PKG_CONFIG_PATH, C_INCLUDE_PATH, LIBRARY_PATH, PATH to each folder ( ninja install shows )

    • in my case, PKG_CONFIG_PATH to C:\lib\pkgconfig, C_INCLUDE_PATH to C:\include, LIBRARY_PATH to C:\lib, PATH to C:\bin
  • copy rlottie\example\win32Player\rlottie.lib to LIBRARY_PATH folder, and copy rlottie\example\win32Player\rlottie.dll to PATH folder (in my case, C:\lib and C:\bin)

  • then finally try cargo install rlottie-rs (like $ cargo install lottieconv --features="clap gif")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants