【问题标题】:How do I compile for 64bit using G++ w/ CodeBlocks?如何使用带有/ CodeBlocks 的 G++ 编译 64 位?
【发布时间】:2014-12-12 10:00:14
【问题描述】:

我目前正在创建一个共享库 DLL,但我需要在运行时在 64 位环境中加载它,因此它目前不起作用。

如何使用 g++ 从代码块编译 64 位 dll?

我尝试过像 -m64 这样的编译器选项,但似乎都没有。

【问题讨论】:

  • 你应该使用-m64 - 如果这不起作用,你需要解释“似乎没有任何工作”的方式。
  • @MatsPetersson 感谢您的回复。我刚刚使用 -m64 并尝试加载 dll。仍然说它是32位的。话虽如此,我使用的是 32 位 mingw,但是当我尝试安装 64 位时出现错误。

标签: c++ compilation g++ 64-bit codeblocks


【解决方案1】:

要在 Windows 上使用 g++ 编译 64 位程序,您需要 MinGW64。我相信 Code::Blocks 是 MinGW32 自带的。

要将其安装到 Code::Blocks 上,请将 zip 文件解压缩到没有空格的文件夹中,例如 C:\MinGW64

打开 Code::Blocks 并点击 Settings -> Compiler and debugger。在选定的编译器下,单击复制。在下一个框中,键入“MinGW 64-bit Compiler”之类的内容,然后单击“确定”。

然后在 Toolchain executables 选项卡上,单击每个选项旁边的 Browse 按钮​​并浏览到您将 MinGW64 复制到的文件夹 (C:\MinGW64) 并进入 bin 文件夹。将每个选项设置如下:

编译器的安装目录:你指定的路径(C:\MinGW64)

C 编译器:gcc.exe

C++ 编译器:g++.exe(如果你使用我上面的链接,它将是g++64.exe,感谢 Super Cat 提醒我)

动态库的链接器:g++.exeg++64.exe,如果你使用了我的链接)

静态库的链接器:ar.exe

调试器:目前还没有用于 MinGW64 的调试器,清除此并将其留空

资源编译器:windres.exe

制作程序:make.exe

设置好编译器后,使用相同的设置编译 DLL,仅使用 64 位编译器。

【讨论】:

  • 非常感谢,完美运行。现在我可以轻松地在 2 个编译器之间切换。谢谢:)
  • 仅供参考 - 'g++.exe' 实际上被命名为 'g++64.exe'。
  • 啊,是的。我从我的设置中创建了该保管箱链接。我有我的设置,所以 MinGW64 和 MinGW32 都在 PATH 环境中的一个文件夹中,所以我可以将 32 或 64 附加到命令中以获得 32 位可执行文件或 64 位。感谢超级猫提醒我。
  • 动态库的链接器也应该是g++64.exe,因为在MinGW64 文件夹中的任何地方都没有g++.exe 可执行文件。
  • 在问题下方的评论中添加了官方MinGW-w64下载链接。
猜你喜欢
  • 2017-03-11
  • 2011-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多