In this version, I decide use MinGW, not Cygwin to compile it.
About sigaction issue, after some research, I got help from http://sourceforge.net/p/pdfcrack/bugs/5/
and here is the source code of winhack.c and  winhack.h.
Another issue, when run
pdfcrack.exe encrypted.pdf -l savedstate.sav
I got the following message,
Error: Not a savefile or savefile is damaged
and I have to change(I tried -std=c99, no work either)
static const char string_FILTER[] = "\nFilter(%zu): ";
to
static const char string_FILTER[] = "\nFilter(%u): ";
pdfcrack 0.13 still does not support AES-256 R6 Encryption(PDF 2.0).
Compare to 0.11 , pdfcrack 0.13 has many changes,
2014-02-10 Henning Norén <henning.noren@gmail.com> – 0.13
- Â Skip strip and add debug symbols in Makefile
- Â Bail out if encountering rev 5+ (Not supported)
- Â Fix parsing of certain rev 4+ documents
- Â Add initial support for rev 5 (SHA256)
- Â Fix rev 3 owner password issues when other than 128 bit keylengths
- Â Update copyright dates in header of files
- Â Fix a gcc warning
- Â Fix filemode when opening a file on unix to make it more portable
- Thanks to Shinobu Maehara for the notice
- Â Fix a pdfparser logic bug, thanks to Shinobu Maehara for reporting
2014-02-01 Henning Norén <henning.noren@gmail.com> – 0.12
- Print warning for odd key lengths
- Â Add support for handling Rev 3 with other than 128 bit keylengths
- Â Try parsing Encrypt object even when ID object is not found
- Â Fix a few gcc-warnings