vcpkg with manifest linker and plugin load issue

Problems building or running the engine, queries about how to use features etc.
ShadyAbyss
Gnoblar
Posts: 8
Joined: Wed Apr 12, 2023 4:55 pm

vcpkg with manifest linker and plugin load issue

Post by ShadyAbyss »

Ogre Version: :14.3.1:
Operating System: :Windows 10:
Render System: :DX11:

I have a simple (empty) project in Visual Studio 2022. I added wxWidgets and later Ogre via vcpkg. I enabled Use VCPKG Manifest. The project compiled and linked fine when I had wxWidgets only. It started correctly and displayed my wxWidgets UI. I did not need to specify any additional include directories, linker directories or libraries. It worked fine.

I added Ogre via vcpkg, the compiler worked fine, however the linker failed to find the Ogre methods. I had to add Ogre_d/Ogre.lib as additional input to my linker. Now it compiles and links fine. I even can start my application until it reaches the line:

Code: Select all

m_pRoot->loadPlugin("RenderSystem_Direct3D11_d.dll");

This line fails because it can't locate RenderSystem_Direct3D11_d.dll. Not sure how to address this correctly.
I expected that vcpkg will setup everything so will work just fine as in case of wxWidgets.

Thanks,
Abyss

rpgplayerrobin
Orc Shaman
Posts: 710
Joined: Wed Mar 18, 2009 3:03 am
x 391

Re: vcpkg with manifest linker and plugin load issue

Post by rpgplayerrobin »

Maybe this post could help?:
viewtopic.php?t=97324

ShadyAbyss
Gnoblar
Posts: 8
Joined: Wed Apr 12, 2023 4:55 pm

Re: vcpkg with manifest linker and plugin load issue

Post by ShadyAbyss »

The given project uses CMake approach and I wanted MS build approach since my project targets Windows only. Even the CMake solution is not full due to Ogre's plugin system. I had to adjust my CMake project so it copies the plugin directory. But this still was not enough - for Assimp plugin I had to copy its dependencies which are not in plugin folder. After that the resources - media folder had to be handled, by adding the minimum Main, RTShaderLib.

So to get it run is really tricky.