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

Better Windows instructions. #11

Open
zkxjzmswkwl opened this issue Sep 24, 2022 · 3 comments
Open

Better Windows instructions. #11

zkxjzmswkwl opened this issue Sep 24, 2022 · 3 comments

Comments

@zkxjzmswkwl
Copy link

The tutorial linked branches off in to many potential paths, CUDA, QT, Shared/Dynamic libraries, just to name a few.

None of this is covered in the README and makes using this project much more difficult than it needs to be.

Few minutes of your time results in potentially hours saved for each person who'd like to use it.

Thank you.

@aferust
Copy link
Owner

aferust commented Sep 26, 2022

Dear zkxjzmswkwl thank you for your feedback. I have been away from dlang and programming (it is not a huge part of my daily job) for a while. As you know, d has a small community, and any progress mostly relies on the willingness of a few volunteers. Currently, I don't even have the necessary tools installed on my computer to be sure everything is compilable with the recent compilers.

The binding has nothing to do with the QT dependency of OpenCV. The GUI functions just invoke opencv GUI function counterparts (QT, GTK, or any opencv supported GUI framework, it does not matter in terms of the binding. It just uses what is under the hood). Opencvd programs must be statically linked with Opencv's static libraries, which usually requires opencv's shared libs (SOs, DLLs, DYLIB) on the path. I don't remember how to describe this, but it is not involved in dynamic DLL loading like what bindbc libraries do. For instance, on windows, if your d program is statically linked with opencv_world430.lib, then your executable will need opencv_world430.dll. I hope this helps.

I was playing around with CUDA functionality. However, it is far away from covering the entire CUDA thing. Honestly, I don't have enough motivation to do those things nowadays.

Best regards,
Ferhat

@zkxjzmswkwl
Copy link
Author

Thank you for the prompt response.

I understand the situation you're in and have been there before myself. I appreciate the work you've done, and surely many others do as well.

Currently there are a few build problems with Opencvd on Windows, particularly involving cv::SIFT. I don't have time to sit down and have a go at them until this coming weekend, though.

When I do, I'll submit a pull-request if that's okay with you.

Thank you Ferhat.

@aferust
Copy link
Owner

aferust commented Sep 26, 2022

Dear zkxjzmswkwl,

OpenCV developers are moving things (when they are mature enough) from the contrib repo to the main repo from time to time. That must be the reason for the cv::SIFT-related build problem. I remember that I did something for it as a workaround. But I forgot what it was. I don't know if you encounter a linker error or a compiler error. Please also be sure that you have an OpenCV build that is built with the contrib repo. This would be your starting point.

I appreciate it if some other people also contribute to this binding and keep it alive.

Thank you

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

No branches or pull requests

2 participants