tcpdump mailing list archives
Re: Need precompiled source files in libpcap
From: Guy Harris <guy () alum mit edu>
Date: Thu, 30 Jun 2016 14:14:42 -0700
On Jun 30, 2016, at 12:59 PM, Yang Luo <hsluoyb () gmail com> wrote:
But I encountered an issue here, the built out scanner.h and scanner.c will report these errors: 1> gencode.c 1>..\scanner.h(239): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory 1> grammar.c 1>..\scanner.h(239): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory 1>..\scanner.c(2787): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory It seems that these generated source files want to include a UN*X only file "unistd.h", which is not available on Windows, like you said in the next reply. I think I need to switch some options to let Flex not use "unistd.h", how to do it? OK. I found the solution. I changed the bat to: win_flex -Ppcap_ -7 --nounistd --outfile=..\scanner.c --header-file=..\scanner.h ..\scanner.l win_bison -ppcap_ --yacc --output=..\grammar.c --defines ..\grammar.y And Flex won't let the generated source filess require "unistd.h" any more. When this bat is done, I think I will make MSVC run this bat every time before a build process starts, is this solution OK for you?
That'd one way to do it. Another way is to have the project define YY_NO_UNISTD_H - that's what CMake does.
And installing flex and bison for Windows are not also very friendly.https://twitter.com/geraldcombs/status/735870968451629056In fact I didn't catch the meaning very well.. What's a "IKEA motorcycle engine"? I think "IKEA" is a furniture vendor? What does it has to do with the motorcycle engine?
A lot of the furniture that IKEA sells is un-assembled, so you take it home in a flat package and assemble it at home. For furniture, that works. But if IKEA sold motorcycle engines that way, it wouldn't work as well: http://www-psych.stanford.edu/~bt/diagrams/papers/animationearli04_files/image012.png You'd have a *lot* more work to do to assemble it, and you'd have to know a *lot* more in order to do it right.
Does it mean that building open source on Windows is very painful and inconvenient?
Pretty much, yes. When you want to build open-source software on a UN*X, as long as you have all of the necessary tools and libraries installed, it's usually just ./configure; make; make install - or maybe mkdir build cd build cmake .. make make install if it's using CMake, and the necessary tools and libraries are usually either 1) installed by default; 2) installable as a package provided by the OS developer; 3) installable from a third-party binary package; 4) installable from source. A lot of this is because most UN*Xes are very similar, with the differences mostly being relatively minor annoyances. On Windows, you may need built-for-Windows - or even ported-to-Windows - versions of the same tools and libraries, and the autotools (configure script) often don't work. If the project uses CMake, it might work, although even there you may have to do a bunch of "if(WIN32)" in the CMake files. _______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- Need precompiled source files in libpcap Yang Luo (Jun 24)
- Re: Need precompiled source files in libpcap Guy Harris (Jun 25)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 25)
- Re: Need precompiled source files in libpcap Guy Harris (Jun 25)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 30)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 25)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 30)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 30)
- Re: Need precompiled source files in libpcap Guy Harris (Jun 30)
- Re: Need precompiled source files in libpcap Yang Luo (Jun 30)
- Re: Need precompiled source files in libpcap Guy Harris (Jun 25)