GraphiteThree icon indicating copy to clipboard operation
GraphiteThree copied to clipboard

FileManager::find_binary_file bug

Open skylinestars opened this issue 1 year ago • 3 comments

On Linux, when building a project using CMake, the "add_library" command generates a shared library (dynamic library) by default. However, on Windows, Visual Studio defaults to a static library. "FileManager:: find_binary_file" always searches for dynamic libraries. If I compile using "Visual Studio" by default, I won't be able to find "luagrob. dll; mesh. dll; voxel. DLL; skinn_imgui. DLL"

skylinestars avatar Jun 14 '24 08:06 skylinestars

Hello, Did you follow compiling instructions ? The are here. There is a configure.bat script that runs CMake with the right options, then normally it will generate DLLs.

BrunoLevy avatar Jun 14 '24 16:06 BrunoLevy

无标题

skylinestars avatar Jun 17 '24 01:06 skylinestars

"Mesh_make-atlas" will call "nlInitExtension-SUPERLU", and "nlInitExtension-SUPERLU" will load "georam_mum3rdparty. DLL", so "georam_mum3rdparty" must be compiled into a dynamic library. What should I do if I want to compile "georam_mum3rdparty" into a static library?

skylinestars avatar Jun 17 '24 02:06 skylinestars

The system is not designed with this option, but it is not impossible to do. To do so you'll have to dig a bit into:

  • the CMakefiles
  • the way SuperLU is called through the dynamic linker in nl_superlu.c

BrunoLevy avatar Oct 14 '25 15:10 BrunoLevy