Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation Errors under MinGW #1

Open
digitalentropy opened this issue Aug 8, 2020 · 0 comments
Open

Compilation Errors under MinGW #1

digitalentropy opened this issue Aug 8, 2020 · 0 comments

Comments

@digitalentropy
Copy link

In trying to compile under Windows, I've run into a couple of issues. Some I've been able to workaround, and some I have not.

The pkg-config seems to be unable to detect that libnfc is installed so I have to manually edit some library paths to point to the right /libnfc/include folder and all is well eventually.

err.h is not a supported header under Windows, but it doesn't seem to be actually used by nfc-iclass so commenting that out seems to resolve that issue, but this is the compilation error I cannot resolve:

nfc-iclass.h:2:6: error: conflicting types for 'strncasecmp'
    2 | bool strncasecmp(char *s1, char *s2, int len);
      |      ^~~~~~~~~~~
In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/io.h:10,
                 from C:/msys64/mingw64/x86_64-w64-mingw32/include/unistd.h:10,
                 from nfc-iclass.c:48:
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:116:28: note: previous definition of 'strncasecmp' was here
  116 |   __CRT_INLINE int __cdecl strncasecmp (const char *__sz1, const char *__sz2, size_t __sizeMaxCompare) { return _strnicmp (__sz1, __sz2, __sizeMaxCompare); }
      |                            ^~~~~~~~~~~
nfc-iclass.c: In function 'main':
nfc-iclass.c:228:55: error: 'S_IRUSR' undeclared (first use in this function)
  228 |         if((outfile= open(optarg, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)) <= 0)
      |                                                       ^~~~~~~
nfc-iclass.c:228:55: note: each undeclared identifier is reported only once for each function it appears in
nfc-iclass.c:228:65: error: 'S_IWUSR' undeclared (first use in this function)
  228 |         if((outfile= open(optarg, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)) <= 0)
      |                                                                 ^~~~~~~
nfc-iclass.c:228:75: error: 'S_IRGRP' undeclared (first use in this function)
  228 |         if((outfile= open(optarg, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)) <= 0)
      |                                                                           ^~~~~~~
nfc-iclass.c:228:85: error: 'S_IWGRP' undeclared (first use in this function)
  228 |         if((outfile= open(optarg, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)) <= 0)
      |                                                                                     ^~~~~~~
nfc-iclass.c: At top level:
nfc-iclass.c:629:6: error: conflicting types for 'strncasecmp'
  629 | bool strncasecmp(char *s1, char *s2, int len)
      |      ^~~~~~~~~~~
In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/io.h:10,
                 from C:/msys64/mingw64/x86_64-w64-mingw32/include/unistd.h:10,
                 from nfc-iclass.c:48:
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:116:28: note: previous definition of 'strncasecmp' was here
  116 |   __CRT_INLINE int __cdecl strncasecmp (const char *__sz1, const char *__sz2, size_t __sizeMaxCompare) { return _strnicmp (__sz1, __sz2, __sizeMaxCompare); }
      |                            ^~~~~~~~~~~
make[2]: *** [Makefile:404: nfc-iclass.o] Error 1

I understand this is probably not something that was tested to compile under Windows, but I would be happy to help test any proposed fixes as needed. I've also compiled this successfully under an Ubuntu VM but for some reason performance with a PN533 seems to be really spotty and tags only detect intermittently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant