RancidMilkGames / Godot-VLC

An example Godot 4 project demonstrating integration with libVLCSharp
MIT License
14 stars 2 forks source link

.dll are not in export #2

Closed CaedesCZ closed 3 months ago

CaedesCZ commented 4 months ago

Hello, I have a problem. Whenever I try to build the project, the resulting application is missing the dlls. After manually copying everything works. However, I would like to use the compilation into a single exe file or apk, which is not possible now. (GODOT 4.2.2)

RancidMilkGames commented 4 months ago

Hi, have you tried including .dlls in the export settings?: image

I'm currently on Linux or I'd just test that. I'll add it to the README if that works since I could see how people might not know that. Godot only exports specific files (Like .res, .tres, etc) by default, and you have to tell it to do the rest.

CaedesCZ commented 4 months ago

I didn't know about this option. However, unfortunately it didn't help.

The problem is the missing "libvlc" folder. The strange thing is that it is in the temporary files, together with the other .dll files that appear in the export. All .dll files including some VLC libraries will appear in the project data. But the "libvlc" folder does not.

21 22

RancidMilkGames commented 4 months ago

can you add libvlc/* to that same section as well if it's missing the folder?

RancidMilkGames commented 4 months ago

Ok, while not pretty, I was able to get it to work by manually copying the nuget package and renaming the x64 folder to win-x64. On Linux with Wine, it seems path name need to begin with a Z: (and isn't perfect)

CaedesCZ commented 3 months ago

I've tried everything but nothing works. It seems that Godot simply ignores all .dll files that are not part of its Mono version. It is strange that after compilation a functional library appears in the project in the tmp folder, but godot does not export it. By the way, the folder with VLC is already named win-x64 and win-x86.

I can't think of anything wrong, most likely the error is directly in GODOT.

CaedesCZ commented 3 months ago

I downloaded GODOT 4.3 today and tried exporting the project in it. Everything works, the libraries have been transferred correctly. So the bug was really in the older version of GODOT and it is now fixed by them.

RancidMilkGames commented 3 months ago

I downloaded GODOT 4.3 today and tried exporting the project in it. Everything works, the libraries have been transferred correctly. So the bug was really in the older version of GODOT and it is now fixed by them.

Awesome! Sorry my best temporary solution was to just copy the VLC library into the exported project's folder. While it worked and could be automated with a command line script export, it still wasn't an ideal solution. When I published this repo, I figured with the licensing constraints of using libVLC and how limited the implementation I got working was, that it would just save others time, either if they chose to expand on this for something more usable in some end product, or if they chose to go a different route with how the drawing target was done, they were aware of a possible way it was done with HWND.