首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用C++将CLion编译为64位

用C++将CLion编译为64位
EN

Stack Overflow用户
提问于 2015-11-25 18:10:41
回答 2查看 6.3K关注 0票数 0

我有一个运行内存消耗算法的c++应用程序。

它因错误而崩溃:在分配的内存达到大约2GB后,在抛出'std::bad_alloc'的实例后终止调用。

我希望将它编译为64位,这样它就可以从我的64位/8GB Ram机器中分配更多的内存。

怎么做呢?

我和CLion一起工作,用CMake构建,并使用mingw版本:顺便说一句-翼安装在C:\Program Files (x86)\mingw-w64下,这与问题有关吗?

我一直在这里寻找:Detecting 64bit compile in C和(不是很惊讶)我可以看到我的应用程序没有__x86_64__

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-03 00:54:15

正如OP建议的那样,将我的评论作为回答:为此,您需要将-m64选项传递给编译器/链接器。

票数 3
EN

Stack Overflow用户

发布于 2015-11-25 18:23:52

您必须告诉CLion使用MinGW-w64构建您的CMake项目。

您不必更改您的CMake项目配置。如果您可以轻松地告诉编译器要构建或使用适当的编译器(MinGW-w64),那么用固定的机器架构限制您的MinGW-w64项目将适得其反。

这篇文章向你展示了如何做到这一点:

https://dev.my-gate.net/2014/09/15/how-to-use-mingw-w64-with-clion/

摘自这篇文章:

下面是几个让它发挥作用的步骤:

  1. 让你的MinGW-w64编译器安装在某处。
  2. 创建一个路径为MinGW-w64 dir/include/_mingw.h的文件,内容如下所示。
  3. 将CLion指向MinGW-w64 dir,并观察CLion如何识别您的MinGW设置。

构建可执行文件之后,可以使用unix命令file检查其体系结构,因为您使用的是mingw,所以它应该对您可用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33923609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档