Team-Nutshell / NutshellEngine

NutshellEngine is a modular game engine.
https://www.team-nutshell.dev/nutshellengine/
MIT License
14 stars 1 forks source link

FreeBSD Implementation #1

Open Martinfx opened 2 hours ago

Martinfx commented 2 hours ago

Hi, i have problem with build engine

OS: FreeBSD 13.3 amd64 Compiler: FreeBSD clang version 17.0.6 (https://github.com/llvm/llvm-project.git llvmorg-17.0.6-0-g6009708b4367)


maxfx@hades ~/D/NutshellEngine (main)> gmake
[  7%] Building CXX object CMakeFiles/NutshellEngine.dir/main.cpp.o
In file included from /home/maxfx/Documents/NutshellEngine/main.cpp:5:
/home/maxfx/Documents/NutshellEngine/ntshengn_core.h:95:3: error: unknown type name 'ModuleLoader'
   95 |                 ModuleLoader m_moduleLoader;
      |                 ^
/home/maxfx/Documents/NutshellEngine/ntshengn_core.h:97:3: error: unknown type name 'ScriptManagerLoader'
   97 |                 ScriptManagerLoader m_scriptManagerLoader;
      |                 ^
In file included from /home/maxfx/Documents/NutshellEngine/main.cpp:5:
In file included from /home/maxfx/Documents/NutshellEngine/ntshengn_core.h:2:
In file included from /home/maxfx/Documents/NutshellEngine/Common/utils/ntshengn_defines.h:2:
In file included from /usr/include/c++/v1/iostream:43:
In file included from /usr/include/c++/v1/ios:222:
In file included from /usr/include/c++/v1/__locale:15:
In file included from /usr/include/c++/v1/__memory/shared_ptr.h:31:
/usr/include/c++/v1/__memory/unique_ptr.h:68:5: error: delete called on non-final 'NtshEngn::ScriptBase' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-abstract-non-virtual-dtor]
   68 |     delete __ptr;
      |     ^
/usr/include/c++/v1/__memory/unique_ptr.h:300:7: note: in instantiation of member function 'std::default_delete<NtshEngn::ScriptBase>::operator()' requested here
  300 |       __ptr_.second()(__tmp);
ntsh-oni commented 2 hours ago

Thank you for reporting this issue. NutshellEngine hasn't been implemented on FreeBSD and tested on Clang yet (I need to implement things like reading dynamic libraries for each OS by hand) but I put this on the Todo list.