hit9 / todo.c

Command line lightweight todo tool with readable storage , written in C.
BSD 2-Clause "Simplified" License
132 stars 23 forks source link

[FIXED] Windows binary #21

Closed sergeevabc closed 7 years ago

sergeevabc commented 7 years ago

Dear Chao, could you be so kind to generate .exe for the rest of us who are merely users w/o compiler?

sergeevabc commented 7 years ago

Is there anything a mere user like me could do to expedite a resolution of this issue?

pips- commented 7 years ago

Hello @sergeevabc,

I tried to compile todo.c on my OpenBSD using MinGW & gmake, but it failed on missing wordexp.h:

$ gmake CC=i386-mingw32-gcc compile
gmake -C src/
gmake[1]: Entering directory '/home/pips/projects/todo.c/src'
i386-mingw32-gcc    -c -o main.o main.c
main.c:21:21: wordexp.h: No such file or directory
main.c: In function `td_try_txt':
main.c:317: error: `wordexp_t' undeclared (first use in this function)
main.c:317: error: (Each undeclared identifier is reported only once
main.c:317: error: for each function it appears in.)
main.c:317: error: syntax error before "exp_r"
main.c:318: error: `exp_r' undeclared (first use in this function)
gmake[1]: *** [<builtin>: main.o] Error 1
gmake[1]: Leaving directory '/home/pips/projects/todo.c/src'
gmake: *** [Makefile:13: compile] Error 2

I don't have any Windows computer, and I'm not familiar with Windows development or MinGW cross-compilation, but I would think a workaround for wordexp.h header will be necessary in order to make a .exe binary.

sergeevabc commented 7 years ago

Nevertheless, thank you for trying and letting me know, @pips-.

pips- commented 7 years ago

Hi @sergeevabc,

I managed to get a .exe binary, but I have no way to test it myself for the moment.

You can download it here for now: http://e5150.fr/files/todo.exe

$ md5 src/todo.exe
MD5 (src/todo.exe) = 340dd971ce59eb8e50c6ce0ba02705d1

If you can give it a try, and it proves to work, I may submit a patch to make todo.c works on OpenBSD & Windows. :)

sergeevabc commented 7 years ago

Thank you for the effort, I confirm it works. However codepage should be set to 65001 beforehand, i.e. chcp 65001, otherwise user sees irrelevant characters instead of cross and checkmark.

Other than that I found the app is not intuitive to use. A few examples:

pips- commented 7 years ago

Hi @sergeevabc,

Thanks for your time testing it.

I think you should open separate github issues for those notes, in order to discuss these appropriately.

I'm not sure about the blank screen when no arguments is present because it only display an empty todo.txt file, or about the syntax but this may be because I get used to it, so we can discuss this topic.

Concerning the codepage/encoding, maybe we should take care of the user locale to convert todo.txt output. I assume you can't change your environment to UTF-8, right?

  • it does not create todo.txt automatically, throws error instead error to write (null)/todo.txt

This one is related to my attempt to compile todo.c for my OpenBSD and eventually with MinGW for Windows, and would not be present in the vanilla todo.c.

sergeevabc commented 7 years ago

I assume you can't change your environment to UTF-8, right?

Default codepage corresponds with the country settings, e.g. 866 for Russia, 850 for Germany, etc. Command to change codepage of Windows CLI environment to Unicode is chcp 65001. But it is highly unlikely the user would switch it every now and then.

I think you should open separate github issues for those notes…

Since you created this tool to suit your needs, I’m not the one to ask for changes, it’s up to others now.