mingw、交叉编译、gcc
一些上下文:
我的程序使用libary libfl.a(flex库)。 我在linux下编译的:
<块引用>gcc lex.yy.c -lfl
我安装了 mingw 编译器
i586-mingw32msvc-gcc
(简单的“hello world”内容编译没有问题)我使用 ubuntu(可能不问题)
我想在 linux 下为 windows 编译(生成可在 windows 上使用的二进制 .exe 文件)
我的问题和疑问:
当我尝试编译我的程序时
i586-mingw32msvc-gcc lex.yy.c -lfl
我收到错误:
[...] undefined reference to '_yywrap'
[...] undefined reference to '_WinMain@16'
- 我是否正确理解我必须使用 i586-mingw32msvc-gcc 来编译
libfl.a
的内容才能使用在这个交叉编译中吗? - 源代码中有函数
yywrap()
,但没有_yywrap()
。为什么带有下划线_
的函数会出现错误? _WinMain@16
怎么了? (源代码中没有使用)
我的目标是了解这里发生了什么。 如果我让它工作,那么它的奖励积分:)
任何帮助表示赞赏
Some context:
My program uses libary libfl.a (flex library).
I compile it under linux:gcc lex.yy.c -lfl
I have mingw compiler installed
i586-mingw32msvc-gcc
(simple 'hello world' stuff compiles without problem)I use ubuntu (probably does not matter)
I want to compile under linux for windows (produce binary .exe file which would be usable on windows)
My problem and questions:
When I try compiling my program
i586-mingw32msvc-gcc lex.yy.c -lfl
I get errors:
[...] undefined reference to '_yywrap'
[...] undefined reference to '_WinMain@16'
- Do I understand correctly that I have to compile the content of
libfl.a
also with i586-mingw32msvc-gcc to be able to use it in this cross-compilation? - In the source code there is function
yywrap()
, but not_yywrap()
. Why I get error for function with underscore_
? - Whats up with the
_WinMain@16
? (no usage in source code)
My goal would be to understand what is happening here.
If I get it to work, then its bonus points :)
Any help is appreciated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)