Eigen/Dense: No such file or directory (g++ compilation)

Project tree:

Command:
g++ .\ultimate_parkour\game\ultimate_parkour.cpp -o parkour_game.exe -L C:\Panda3D-1.10.13-x64\lib -lp3framework -lpanda -lpandafx -lpandaexpress -lp3dtoolconfig -lp3dtool -lp3direct

ultimate_parkour.cpp:

#include <iostream>

#include "../vendor/pandaFramework.h"

int main() {
    // Open a new window framework
    PandaFramework framework;
    framework.open_framework();

    // Set the window title and open the window
    framework.set_window_title("My Panda3D Window");
    WindowFramework *window = framework.open_window();

    // Here is room for your own code

    // Do the main loop, equal to run() in python
    framework.main_loop();
    framework.close_framework();
    return 0;
}

Error:

In file included from .\ultimate_parkour\game\../vendor/config_linmath.h:20,
                 from .\ultimate_parkour\game\../vendor/lvecBase2.h:18,
                 from .\ultimate_parkour\game\../vendor/lpoint2.h:19,
                 from .\ultimate_parkour\game\../vendor/windowProperties.h:21,
                 from .\ultimate_parkour\game\../vendor/config_framework.h:19,
                 from .\ultimate_parkour\game\../vendor/pandaFramework.h:18,
                 from .\ultimate_parkour\game\ultimate_parkour.cpp:3:
.\ultimate_parkour\game\../vendor/lsimpleMatrix.h:20:10: fatal error: Eigen/Dense: No such file or directory
   20 | #include <Eigen/Dense>
      |          ^~~~~~~~~~~~~
compilation terminated.

Eigen issue got fixed by adding: -I C:\Panda3D-1.10.13-x64\include to compiling command, but now I got this small error:

c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x1e): undefined reference to `PandaFramework::PandaFramework()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x2a): undefined reference to `PandaFramework::open_framework()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x39): undefined reference to `std::allocator<char>::allocator()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x7b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x8a): undefined reference to `std::allocator<char>::~allocator()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x96): undefined reference to `PandaFramework::open_window()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0xa9): undefined reference to `PandaFramework::main_loop()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0xb5): undefined reference to `PandaFramework::close_framework()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0xc6): undefined reference to `PandaFramework::~PandaFramework()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0xdc): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0xf0): undefined reference to `std::allocator<char>::~allocator()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x101): undefined reference to `PandaFramework::~PandaFramework()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x12d): undefined reference to `std::ios_base::Init::~Init()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x168): undefined reference to `std::ios_base::Init::Init()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x181): undefined reference to `BitMask<unsigned int, 32>::lower_on(int)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text+0x191): undefined reference to `BitMask<unsigned int, 32>::bit(int)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZN14PandaFramework16set_window_titleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN14PandaFramework16set_window_titleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x20): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.xdata+0x10): undefined reference to `__gxx_personality_seh0'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD1Ev[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD1Ev]+0x11): undefined reference to `std::allocator<char>::~allocator()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_]+0x20): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_]+0x32): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char> const&)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.xdata$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_+0xc): undefined reference to `__gxx_personality_seh0'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0x4c): undefined reference to `std::__throw_logic_error(char const*)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0x80): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long long&, unsigned long long)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0x8c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0x9c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long long)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0xa5): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0xbb): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char const*, char const*)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0xcb): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long long)'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0xd5): undefined reference to `__cxa_begin_catch'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0xde): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0xe3): undefined reference to `__cxa_rethrow'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag]+0xeb): undefined reference to `__cxa_end_catch'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.xdata$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag+0xc): undefined reference to `__gxx_personality_seh0'
c:/users/ione/gcc/bin/../lib/gcc/x86_64-w64-mingw32/11.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\IonE\AppData\Local\Temp\ccgDfBNz.o:ultimate_parkour.cpp:(.rdata$.refptr.panda_version_1_10[.refptr.panda_version_1_10]+0x0): undefined reference to `panda_version_1_10'
collect2.exe: error: ld returned 1 exit status

The problem is that Panda3D can be built on Windows only on the C++ (MSVC) compiler, not g++ (GCC). This is a well-known fact.