I have a few questions about DLL paths on Windows.
I'm on Windows 10. I've just used Visual Studio Community 2019 and vcpkg with Power Shell to install 64-bit libraries needed for a project. All the required libraries have all been installed on the machine and reside in the following directory:
Each library is inside its own folder there, and each dll is (in some cases many DLLs are) inside a bin folder, so the entire path to any given DLL looks like this:
When I use this path as a constant to access the library I need, System.IsFunctionAvailable returns false. This doesn't tell me if the library was found or not, whether the function doesn't exist in the library, or if a dependent library wasn't found. I'm assuming I'm missing something basic about how this works.
In the past I have always placed DLLs next to the .exe file both for debugging and in built applications. I tried that today with these libraries and it did not work. The DLLs are all 64-bit, and my app is 64-bit. I know all the dependencies are installed on my machine.
So my questions are:
- What does the path to a DLL have to be in Xojo for the IDE to find the DLL, (a) in a DebugBuild, and (b) in a built application?
- After Xojo finds a DLL, how will it find all of the other DLLs required as dependencies?