I am fairly new in C and I am trying to manipulate same data files and export them in an excel file.
Similar to this case Running libxlsxwriter on Windows, I am trying to install libxlsxwriter on windows usingMSYS2.
I have done so far:
1) Installed MSYS2 64 bit along with the installation instructions
2) From MSYS2 terminal pacman -S git gcc make zlib-devel
3) And also:
git clone https://github.com/jmcnamara/libxlsxwriter.git
MichKon@MichKon-PC MSYS ~
$ cd libxlsxwriter
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ make
make[1]: Entering directory '/home/MichKon/libxlsxwriter/third_party/minizip'
make[1]: Leaving directory '/home/MichKon/libxlsxwriter/third_party/minizip'
make[1]: Entering directory '/home/MichKon/libxlsxwriter/third_party/tmpfileplus'
make[1]: Leaving directory '/home/MichKon/libxlsxwriter/third_party/tmpfileplus'
make[1]: Entering directory '/home/MichKon/libxlsxwriter/src'
make[1]: Leaving directory '/home/MichKon/libxlsxwriter/src'
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ make install
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ cc myexcel.c -o myexcel -lxlsxwriter
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x1bc9): undefined reference to `crc32'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x1bc9): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `crc32'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x1d1f): undefined reference to `deflate'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x1d1f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflate'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2280): undefined reference to `deflate'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2280): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflate'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x238a): undefined reference to `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x238a): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x25e6): undefined reference to `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x25e6): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2649): undefined reference to `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2649): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2e06): undefined reference to `deflateInit2_'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2e06): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflateInit2_'
collect2: error: ld returned 1 exit status
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ ./myexcel
bash: ./myexcel: No such file or directory
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ cc myexcel.c -o myexcel -lxlsxwriter
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x1bc9): undefined reference to `crc32'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x1bc9): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `crc32'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x1d1f): undefined reference to `deflate'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x1d1f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflate'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2280): undefined reference to `deflate'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2280): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflate'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x238a): undefined reference to `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x238a): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x25e6): undefined reference to `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x25e6): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2649): undefined reference to `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2649): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflateEnd'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2e06): undefined reference to `deflateInit2_'
/usr/lib/../lib/libxlsxwriter.a(zip.o):zip.c:(.text+0x2e06): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `deflateInit2_'
collect2: error: ld returned 1 exit status
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ ./myexcel
bash: ./myexcel: No such file or directory
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ xdg-open myexcel.xlsx
bash: xdg-open: command not found
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ cc myexcel.c -o myexcel -I /path/to/libxlsxwriter/include
/tmp/ccp8qMT9.o:myexcel.c:(.text+0x15): undefined reference to `workbook_new'
/tmp/ccp8qMT9.o:myexcel.c:(.text+0x15): relocation truncated to fit: R_X86_64_PC 32 against undefined symbol `workbook_new'
/tmp/ccp8qMT9.o:myexcel.c:(.text+0x2a): undefined reference to `workbook_add_worksheet'
/tmp/ccp8qMT9.o:myexcel.c:(.text+0x2a): relocation truncated to fit: R_X86_64_PC 32 against undefined symbol `workbook_add_worksheet'
/tmp/ccp8qMT9.o:myexcel.c:(.text+0x64): undefined reference to `worksheet_write_string'
/tmp/ccp8qMT9.o:myexcel.c:(.text+0x64): relocation truncated to fit: R_X86_64_PC 32 against undefined symbol `worksheet_write_string'
/tmp/ccp8qMT9.o:myexcel.c:(.text+0x70): undefined reference to `workbook_close'
/tmp/ccp8qMT9.o:myexcel.c:(.text+0x70): relocation truncated to fit: R_X86_64_PC 32 against undefined symbol `workbook_close'
collect2: error: ld returned 1 exit status
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ ./myexcel
bash: ./myexcel: No such file or directory
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ cc myexcel.c -o myexcel -I /path/to/libxlsxwriter/lib/libxlsxwiter.a -lz
/tmp/ccgsiylm.o:myexcel.c:(.text+0x15): undefined reference to `workbook_new'
/tmp/ccgsiylm.o:myexcel.c:(.text+0x15): relocation truncated to fit: R_X86_64_PC 32 against undefined symbol `workbook_new'
/tmp/ccgsiylm.o:myexcel.c:(.text+0x2a): undefined reference to `workbook_add_worksheet'
/tmp/ccgsiylm.o:myexcel.c:(.text+0x2a): relocation truncated to fit: R_X86_64_PC 32 against undefined symbol `workbook_add_worksheet'
/tmp/ccgsiylm.o:myexcel.c:(.text+0x64): undefined reference to `worksheet_write_string'
/tmp/ccgsiylm.o:myexcel.c:(.text+0x64): relocation truncated to fit: R_X86_64_PC 32 against undefined symbol `worksheet_write_string'
/tmp/ccgsiylm.o:myexcel.c:(.text+0x70): undefined reference to `workbook_close'
/tmp/ccgsiylm.o:myexcel.c:(.text+0x70): relocation truncated to fit: R_X86_64_PC 32 against undefined symbol `workbook_close'
collect2: error: ld returned 1 exit status
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$ make myexcel
cc myexcel.c -o myexcel
/tmp/ccMI33kF.o:myexcel.c:(.text+0x15): undefined reference to `workbook_new'
/tmp/ccMI33kF.o:myexcel.c:(.text+0x15): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `workbook_new'
/tmp/ccMI33kF.o:myexcel.c:(.text+0x2a): undefined reference to `workbook_add_worksheet'
/tmp/ccMI33kF.o:myexcel.c:(.text+0x2a): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `workbook_add_worksheet'
/tmp/ccMI33kF.o:myexcel.c:(.text+0x64): undefined reference to `worksheet_write_string'
/tmp/ccMI33kF.o:myexcel.c:(.text+0x64): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `worksheet_write_string'
/tmp/ccMI33kF.o:myexcel.c:(.text+0x70): undefined reference to `workbook_close'
/tmp/ccMI33kF.o:myexcel.c:(.text+0x70): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `workbook_close'
collect2: error: ld returned 1 exit status make: *** [: myexcel] Error 1
MichKon@MichKon-PC MSYS ~/libxlsxwriter
$
So it doesn't seem to work at the end. There is no exe file created. It seems that the last three commands are ordering a compileing, but something is wrong with the header files...
Thank you for your time
EDIT:
So I have looked deeper into this solution: Running libxlsxwriter on Windows as it seems I have a similar problem as Carl.
Make does not work except if I place the .c file inside one of the predefined files like examples, then through the command window I can compile and run it. But I would like to know if there is anything that can be done in order to be able to compile and run the files normally, like any other C files through Devc++.
I tried adding C:\msys64\usr\bin
in user and computer PATH (environment variables) but it doesn't seem to work.
Thank you for your time!