mingw与linux下的gcc有哪些区别?

bigseabigsky 2005-06-19 06:46:39
下了个老外的程序(有makefile),为了省事就在windows下先用mingw编译了一下,编译总是通不过,好像报错是有的库函数找不到。换到linux(rt9,默认gcc版本为3.2.2)下用gcc编译就行了。不知哪位有类似的经验,有知道的也帮忙解释一下啊。先谢了!
...全文
851 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
VisionCat 2005-06-21
  • 打赏
  • 举报
回复
如果说,从本质上看。
gcc用的是elf,而MinGW用的是PE。
并且,MinGW只是一个在Win32下编译Win32程序的GCC,并不能作为真这的GCC使用。所以才会叫MinGW。

另外,Cygwin也是如此,并不是真正的GCC,只是一个仿UNIX环境。都不能替代GCC的功能。比如编译Linux内核就不太可能。

还有,MinGW是有Unix下的头文件的。
积木 2005-06-20
  • 打赏
  • 举报
回复
。。。一定是你没有配置好
bigseabigsky 2005-06-20
  • 打赏
  • 举报
回复
没用到这些库。就用了
#include <cstdlib>
#include <cmath>
#include <algorithm>
里面居然找不到random()函数
Wolf0403 2005-06-20
  • 打赏
  • 举报
回复
看看里面如果有诸如 sys/* 或者 unistd.h 的包含文件就肯定不行了。。这些是特定 Linux 平台的。
bigseabigsky 2005-06-20
  • 打赏
  • 举报
回复
呵呵,其实没什么好配置的,安装完后在环境变量的PATH里加上相应的路径就行了。查了一下cstdlib头文件,发现里面只有rand,没有random,替换以后就编译通过了。mingw的版本为3.2.3,rt9下gcc为3.2.2,不会是因为版本的差异吧?
bigseabigsky 2005-06-20
  • 打赏
  • 举报
回复
呵呵,其实没什么好配置的,安装完后在环境变量的PATH里加上相应的路径就行了。查了一下cstdlib头文件,发现里面只有rand,没有random,替换以后就编译通过了。mingw的版本为3.2.3,rt9下gcc为3.2.2,不会是因为版本的差异吧?
zhousqy 2005-06-19
  • 打赏
  • 举报
回复
有些特殊的头文件估计MingW里没有的。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧