am getting errors E2500, LINK2019 and LINK1120 unresolved externals. |
Just giving us error numbers without even a hint of what the errors are isn't all that helpful. What isn't being properly linked?
Highlight the error(s) in the output window, right click and select "copy." Now you have the exact wording of the error(s) in the copy buffer ready for pasting.
You're using at least 2 different 3rd party libraries, {fmt} and cereal. {fmt} isn't a header-only library, to use it requires library files be created before use. You have to compile the library.
Not adding library and header directories to the project can be a major source of linker errors.
Microsoft has created a package manager, vcpkg, for adding available 3rd party libraries very easy. {fmt} and cereal are both available packages with vcpkg.
https://vcpkg.io/en/index.html
https://vcpkg.io/en/getting-started.html
One nice feature of vcpkg is the ability of integrating into Visual Studio. With that integration there is no need to manually add header/library directories. With a couple of console mode commands a package is downloaded, compiled as needed, and VS is able to access the libs and headers as if they were native VS libs and headers.
It is also possible to install a particular library for x64 and x86 use, as well as x64-static (no external DLL needed).
When a library gets an update, and that update is added to the vcpkg update list, vcpkg does all work with updating the package as well and any other installed package that depends on it.
If'n someone has {fmt} installed via vcpkg, for example, any #includes/imports use angle brackets < > instead of " ".
There are over 1,500 libraries maintained in vcpkg, there is little reason to not use it. The ease of maintaining 3rd party libraries with vcpkg is almost a no-brainer.