Затем я добавил Библиотека OpenXLSX позволяет читать/записывать файлы Excel *.xlsx.
Проблема (по крайней мере, я думаю, что это проблема?) заключается в том, что согласно файл readme OpenXLSX, OpenXLSX также использует pugixml. Это приводит к ошибке компоновщика на компьютере с Windows:
Код: Выделить всё
2024-05-22T09:13:31.4230545Z pugixml.lib(pugixml.obj) : error LNK2005: "private: struct pugi::xml_node_struct * __cdecl pugi::xml_text::_data(void)const " (?_data@xml_text@pugi@@AEBAPEAUxml_node_struct@2@XZ) already defined in OpenXLSX.lib(XLCellValue.obj) [D:\a\wingdesigner\wingdesigner\build\apps\wingdesigner.vcxproj]
Мой корневой файл CMakeLists.txt использует CPM для включения обоих библиотеки
Код: Выделить всё
include(cmake/CPM.cmake)
CPMAddPackage("gh:troldal/OpenXLSX#ededa1e8398305d0983648d3e9f120ff7e228d2b")
CPMAddPackage("gh:zeux/[email protected]")
Код: Выделить всё
target_link_libraries(io PUBLIC pugixml spdlog::spdlog Eigen3::Eigen OpenXLSX::OpenXLSX)
Подробнее здесь: https://stackoverflow.com/questions/785 ... nker-error