The application parses SMBIOS firmware table and reports information about your system's hardware according to the SMBIOS/DMI standard. Typically includes information about BIOS, motherboard, CPU, RAM etc. Application written in C++ and portable, should work under Windows/Linux/OS X. Not finished. Pull requests are welcome!
[1/6] Building CXX object smbios/src/CMakeFiles/smbios.dir/win_system_information.cpp.obj
FAILED: smbios/src/CMakeFiles/smbios.dir/win_system_information.cpp.obj
C:\msys64\mingw64\bin\c++.exe -ID:/source/repos/SmbiosUtil/smbios/src/../include -std=c++11 -std=gnu++1y -pthread -fPIC -MD -MT smbios/src/CMakeFiles/smbios.dir/win_system_information.cpp.obj -MF smbios\src\CMakeFiles\smbios.dir\win_system_information.cpp.obj.d -o smbios/src/CMakeFiles/smbios.dir/win_system_information.cpp.obj -c D:/source/repos/SmbiosUtil/smbios/src/win_system_information.cpp
In file included from D:/source/repos/SmbiosUtil/smbios/src/win_system_information.cpp:2:
D:/source/repos/SmbiosUtil/smbios/include/smbios/win_system_information.h:108:17: error: field 'cpu_architecture_' has incomplete type 'std::string' {aka 'std::__cxx11::basic_string<char>'}
108 | std::string cpu_architecture_;
| ^~~~~~~~~~~~~~~~~
In file included from C:/msys64/mingw64/include/c++/11.2.0/iosfwd:39,
from C:/msys64/mingw64/include/c++/11.2.0/bits/shared_ptr.h:52,
from C:/msys64/mingw64/include/c++/11.2.0/memory:77,
from D:/source/repos/SmbiosUtil/smbios/include/smbios/win_system_information.h:2,
from D:/source/repos/SmbiosUtil/smbios/src/win_system_information.cpp:2:
C:/msys64/mingw64/include/c++/11.2.0/bits/stringfwd.h:74:11: note: declaration of 'std::string' {aka 'class std::__cxx11::basic_string<char>'}
74 | class basic_string;
| ^~~~~~~~~~~~
gcc version 11.2.0 (Rev2, Built by MSYS2 project)
add
#include <string>
to https://github.com/yuchdev/SmbiosUtil/blob/5353277e6d1a4a248846872e2ce2c72d060f0650/smbios/include/smbios/win_system_information.h#L1 can solve the problem.