mingw32-g++ 链接问题

mingw32-g++编译测试exe不能直接在win7系统上。显示依赖libgcc_s_dw2-1.dll和libstdc++-6.dll。这两个dll什么作用,必须的吗?为什么不能像vc++编译器一样生成win7平台直接运行的代码?

阅读 3.5k
2 个回答

vc生成的程序能在Windows7上运行也只是因为windows上大多装了msvc的库,
你在mingw的安装目录下找到这两个DLL和可执行文件一起拿到别的电脑上就可以用了。

这两个DLL库分别是C标准库和C++标准库。如果你的函数完全不用C或C++的库函数比如malloc或者std::list,只使用Win32 API,可以不要他们,当然这基本是不可能的。
VC++编写的程序也是需要类似的东西,比如VC++ 2012编写的程序放进干净的Win7新系统里,也会提示缺少MSVCR110.DLL,需要安装对应的Visual C++ 2012 Runtime包。
Qt的SDK也有经过VC++编译好的版本,下载的时候注意一下就能看到,推荐使用VC++编译的,因为在Windows下性能更好。Qt Creator也可配置用VC++编译器。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题