MinGW,MinGW-w64 与TDM-GCC 三者的关系是啥,应该如何选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MinGW,MinGW-w64 与TDM-GCC 三者的关系是啥,应该如何选择相关的知识,希望对你有一定的参考价值。

参考技术A 你下载的是源代码,还要编译才能用。 你可以用TDM-GCC,那里面可以选择安装mingw-w64。 如果要一个bash环境,就再装一个msys。

将 Cilk Plus 与 MinGW-w64 (gcc 4.9.2) 一起使用?

【中文标题】将 Cilk Plus 与 MinGW-w64 (gcc 4.9.2) 一起使用?【英文标题】:Using Cilk Plus with MinGW-w64 (gcc 4.9.2)? 【发布时间】:2015-03-10 20:13:54 【问题描述】:

是否可以将 Cilk PlusMinGW-w64 (x86_64-4.9.2-posix-sjlj-rt_v3-rev0) 一起使用?

当我不使用-fcilkplus 选项时,编译器会给我一个错误"-fcilkplus must be enabled to use '_Cilk_spawn'" - 所以很明显它可以识别扩展关键字。另一方面,在编译器安装文件夹中没有任何'cilk.h' 的痕迹,也没有任何其他名称中包含"cilk" 的文件。

如果使用选项-fcilkplus -lcilkrts 编译,我会收到错误:

"libcilkrts.spec: No such file or directory".

编译自 Code::Blocks,错误日志:

undefined reference to `__cilkrts_enter_frame_1'|
undefined reference to `__cilkrts_save_fp_ctrl_state'|
undefined reference to `__cilkrts_save_fp_ctrl_state'|
undefined reference to `__cilkrts_sync'|
undefined reference to `__cilkrts_rethrow'|
undefined reference to `__cilkrts_save_fp_ctrl_state'|
undefined reference to `__cilkrts_sync'|
undefined reference to `__cilkrts_rethrow'|
undefined reference to `__cilkrts_leave_frame'|
undefined reference to `__cilkrts_save_fp_ctrl_state'|
undefined reference to `__cilkrts_sync'|
undefined reference to `__cilkrts_rethrow'|
undefined reference to `__cilkrts_leave_frame'|
undefined reference to `__cilkrts_enter_frame_fast_1'|
undefined reference to `__cilkrts_leave_frame'|
||=== Build failed: 15 error(s), 2 warning(s) (0 minute(s), 1 second(s)) ===|

MinGW 和 TDM-MinGW 都使用较旧的 gcc 版本(4.8 系列),因此它们无法识别 cilk 关键字。

【问题讨论】:

【参考方案1】:

Windows 上的 MinGW 似乎不支持 Intel Cilk。

【讨论】:

以上是关于MinGW,MinGW-w64 与TDM-GCC 三者的关系是啥,应该如何选择的主要内容,如果未能解决你的问题,请参考以下文章

mingw-w64-v3.1.0怎么安装

MinGW-w32 与 MinGW

MinGW-W64下载与安装

在Windows中安装MinGW-w64

将 Cilk Plus 与 MinGW-w64 (gcc 4.9.2) 一起使用?

未定义的参考链接 yaml-cpp 程序与 mingw-w64 + cmake