C++ 带MinGW的libxlsxwriter

C++ 带MinGW的libxlsxwriter,c++,c,mingw,libxlsxwriter,C++,C,Mingw,Libxlsxwriter,两天来,我花了几个小时试图让libxlsxwriter在Windows上与mingw一起工作。我按照说明安装和构建库,但每次尝试在我的一个项目中包含头文件并使用库中的一个函数时,都会出现相同的错误: D:\Apps\CLion\bin\cmake\win\bin\cmake.exe --build C:\Users\Simon\CLionProjects\myexcel\cmake-build-debug --target all -- -j 4 [ 50%] Linking CXX execu

两天来,我花了几个小时试图让libxlsxwriter在Windows上与mingw一起工作。我按照说明安装和构建库,但每次尝试在我的一个项目中包含头文件并使用库中的一个函数时,都会出现相同的错误:

D:\Apps\CLion\bin\cmake\win\bin\cmake.exe --build C:\Users\Simon\CLionProjects\myexcel\cmake-build-debug --target all -- -j 4
[ 50%] Linking CXX executable myexcel.exe
D:/Apps/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\myexcel.dir/objects.a(main.cpp.obj): in function `main':
C:/Users/Simon/CLionProjects/myexcel/main.cpp:4: undefined reference to `workbook_new'
D:/Apps/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Simon/CLionProjects/myexcel/main.cpp:5: undefined reference to `workbook_add_worksheet'
D:/Apps/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Simon/CLionProjects/myexcel/main.cpp:8: undefined reference to `worksheet_write_string'
D:/Apps/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Simon/CLionProjects/myexcel/main.cpp:9: undefined reference to `workbook_close'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[2]: *** [CMakeFiles\myexcel.dir\build.make:85: myexcel.exe] Error 1
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:75: CMakeFiles/myexcel.dir/all] Error 2
mingw32-make.exe: *** [Makefile:83: all] Error 2
我的代码非常基本(它几乎是提供的示例代码之一):

我尝试了几种方法来部署mingw,但我最终还是选择了msys2作为托管mingw的平台,因为我觉得*nix环境在管理大量软件包时是有益的,而且它还预装了所需的zlib

值得一提的是,这是我在CLion 2019.3中的工具链配置

下面是我的项目配置:

你知道这里怎么了吗?我是一个新手,因为它涉及到C/C++。。。非常感谢您的帮助


编辑:

我尝试用pacman pacman-SSXLSX从mys2控制台安装构建的文件。从外观上看,它已经安装好了。这是控制台的输出:

$ pacman -Ss xlsx
mingw32/mingw-w64-i686-libxlsxwriter 0.9.4-1
    A C library for creating Excel XLSX files (mingw-w64)
mingw32/mingw-w64-i686-python-openpyxl 3.0.2-1
    A python library to read/write Excel 2007 xlsx/xlsm file (mingw-w64)
mingw32/mingw-w64-i686-python-xlsxwriter 1.2.7-1
    A Python module for creating Excel XLSL files (mingw-w64)
mingw32/mingw-w64-i686-xlnt 1.4.0-1
    User-friendly xlsx library for C++14 (mingw-w64)
mingw64/mingw-w64-x86_64-libxlsxwriter 0.9.4-1
    A C library for creating Excel XLSX files (mingw-w64)
mingw64/mingw-w64-x86_64-python-openpyxl 3.0.2-1
    A python library to read/write Excel 2007 xlsx/xlsm file (mingw-w64)
mingw64/mingw-w64-x86_64-python-xlsxwriter 1.2.7-1
    A Python module for creating Excel XLSL files (mingw-w64)
mingw64/mingw-w64-x86_64-xlnt 1.4.0-1
    User-friendly xlsx library for C++14 (mingw-w64)

坦白说,我不明白。没有libxlsxwriter.so。我有两个文件(libxlsxwriter.a,libxlsxwriter.dll)在usr/local文件夹和home文件夹中(它们最初是在那里构建的)。

我不知道您的IDE,但似乎您没有在构建xlsxwriter库MSYS2将libxlsxwriter作为一个包包含(
pacman-Ss xlsx
)所以你可以安装它,而不是试图构建它的外观,你是对的。我已经建立了这两个文件:libxlsxwriter.a,libxlsxwriter.dll没有libxlsxwriter.so的迹象,根据手册,应该在那里。这是正确的吗?我将尝试你建议的解决方案并向你汇报。我尝试了你的解决方案并编辑了我的帖子。仍然没有,不幸的是,Windows中没有
。因此
文件。您应该链接
.a
文件我不知道您的IDE,但似乎您没有构建xlsxwriter库MSYS2将libxlsxwriter作为一个包(
pacman-Ss xlsx
)包含在内,因此您可以安装它,而不是尝试构建它的外观。您是对的。我已经建立了这两个文件:libxlsxwriter.a,libxlsxwriter.dll没有libxlsxwriter.so的迹象,根据手册,应该在那里。这是正确的吗?我将尝试你建议的解决方案并向你汇报。我尝试了你的解决方案并编辑了我的帖子。仍然没有,不幸的是,Windows中没有
。因此
文件。您应该链接
.a
文件
$ pacman -Ss xlsx
mingw32/mingw-w64-i686-libxlsxwriter 0.9.4-1
    A C library for creating Excel XLSX files (mingw-w64)
mingw32/mingw-w64-i686-python-openpyxl 3.0.2-1
    A python library to read/write Excel 2007 xlsx/xlsm file (mingw-w64)
mingw32/mingw-w64-i686-python-xlsxwriter 1.2.7-1
    A Python module for creating Excel XLSL files (mingw-w64)
mingw32/mingw-w64-i686-xlnt 1.4.0-1
    User-friendly xlsx library for C++14 (mingw-w64)
mingw64/mingw-w64-x86_64-libxlsxwriter 0.9.4-1
    A C library for creating Excel XLSX files (mingw-w64)
mingw64/mingw-w64-x86_64-python-openpyxl 3.0.2-1
    A python library to read/write Excel 2007 xlsx/xlsm file (mingw-w64)
mingw64/mingw-w64-x86_64-python-xlsxwriter 1.2.7-1
    A Python module for creating Excel XLSL files (mingw-w64)
mingw64/mingw-w64-x86_64-xlnt 1.4.0-1
    User-friendly xlsx library for C++14 (mingw-w64)