4

我正在尝试在 win7 64 位上配置我的 NetBeans,以使用 MinGW-w64。
所以我在 %PATH% 变量中放入了编译器的以下路径:
C:\mingw-w64-bin_i686\mingw\bin
C:\minGw-MSYS\msys\bin
C:\mingw-w64-bin_i686\libexec\gcc \x86_64-w64-mingw32\4.7.0

然后我打开 NetBeans 并进行了配置:

NetBeans 中的配置

我试图编译一个小测试程序,但我收到了这个错误:

g++.exe:致命错误:-fuse-linker-plugin,但未找到 liblto_plugin-0.dll 编译终止。make[2]: * [dist/Debug/MinGW-Windows/test.exe] 错误 1 ​​make 1 :[.build-conf] 错误 2 make: * * [.build-impl] 错误 2

BUILD FAILED(退出值2,总时间:1s)

我在 C:\mingw-w64-bin_i686\libexec\gcc\x86_64-w64-mingw32\4.7.0 中有这个文件

我错过了什么?

4

3 回答 3

16

对,在推迟了几个月后,我终于坐下来完成了。我可能会在我的博客上用漂亮的图片发表更详细的帖子,但这里有一个精简的 SO 版本,希望足以让你(和其他所有人)开始使用。

先决条件

如果您拥有 MinGW、MSYS 和 CMake,并且可以承受丢失它们,请删除它们(我们将重新安装 MinGW(obv.)和 MSYS,但不会重新安装 CMake,因为它似乎不需要。)

  • Netbeans 或其他合适的 IDE
  • 64位Windows。
  • EnvMan(可选但方便管理 Windows 环境变量。)

安装

MinGW-W64 C 编译器和 MSYS

设置

  • 将“C:\MinGW-W64\bin”添加到您的 Windows PATH 变量中。
  • 将“C:\MSys\msys\bin”添加到您的 Windows PATH 变量中。
  • 启动 Netbeans 并转到工具 -> 选项 -> C/C++。
    • 点击“Tool Collection”下的“Add”,选择MinGW-W64的基本目录(C:\MinGW-W64\bin)。
    • 如果未自动检测到,请从“Tool Collection Family”中选择“MinGW”,然后单击“OK”。
    • 将 'C 编译器设置为 C:\MinGW-W64\bin\x86_64-w64-mingw32-gcc.exe。
    • 将“C++ 编译器”设置为 C:\MinGW-W64\bin\x86_64-w64-mingw32-g++.exe。
    • 将“制作命令”设置为 C:\MSys\msys\bin\make.exe。

应该就是这样!

我应该注意,我正在使用系统编译要通过 JNI 使用的库文件,因此有一些我错过的额外步骤,因为这里不需要它们。但是我做了一个快速的“Hello World”程序,它编译并运行得很好。

快乐编码!

于 2012-11-23T13:57:26.670 回答
0

我刚刚下载了最新的自动构建,解压缩,将主 bin 目录添加到路径,然后运行:

x86_64-w64-mingw32-gcc test.cpp -o test.exe

x86_64-w64-mingw32-gcc -fuse-linker-plugin test.cpp -o test.exe

它有效。i686 变体也是如此。您的 IDE 做错了什么。或者你不应该弄乱这些文件。或者您不应该删除前缀。严重地。

PS:您只需将主“bin”目录添加到PATH,其余都是错误的。

于 2011-12-12T19:18:00.583 回答
0

通过您最喜欢的 Internet 搜索引擎进行一些搜索,我发现了一种更好的方法,可以将 MinGW-x64 快速添加到 Windows 64 位系统。Sourceforge 站点上是MSYS2

在遵循安装说明并获取最新软件包时,Sourceforge 上的主镜像站点可能会超时。如果是这样,请按照镜像站点更新说明更新相应 MSYS2 目录中的三个 pacman 文本文件(例如 /etc/pacman.d)。然后继续完成MSYS2 安装说明中的软件包更新。

在 MSYS2 包中包含 gcc、llvm、make、dmake 等内容。下面是 MSYS2 命令行 shell(例如 bash)用来安装 GNU make 实用程序的命令:

$ pacman -S msys/make

它将被放置的可执行位置是:/usr/bin在 MSYS2 命令外壳内。至于为 make.exe 所在的位置配置 Netbeans,Windows 路径是:

MSYS2 installation directory\usr\bin\make.exe

(例如C:\msys64\usr\bin\make.exe)。

为了使用 Netbeans 成功构建 C++,我使用了 GNU make 包(例如 msys/make)。然后,为了使用 Netbeans 管理的默认 make 文件,并且不干扰 Windows 安装中的其他 C++ 编译器(例如 Visual Studio、Intel、Visual Studio 中的 CLang 等),请从 MinGW-x64 命令 shell 运行 Netbeans由 MSYS2 提供。这样,环境变量和其他东西就像:

ls
rm
mkdir

将在 Netbeans 内部终端窗口中指示成功执行和编译。我通过从 MSYS2 的安装导航到已安装的快捷方式打开了 MinGW-w64 Win64 Shell。然后将 Netbeans Windows 桌面快捷方式中的 Target 属性值粘贴到 MinGW-x64 shell 命令行中:

$ "C:\Program Files (x86)\NetBeans 7.4\bin\netbeans.exe"

然后最终可以创建相应的调试和发布对象和可执行文件。我还将 Netbeans 项目输出修改为位于 MSYS2 目录结构中。然后在 MSYS2 MinGW-x64 shell 中运行可执行文件。从 Netbeans IDE 运行会产生以下错误消息:

无法启动 pty 进程:应用程序失败,退出代码为 -1073741515 (0xc0000135)。

如果 MSYS2 路径位于计算机系统的 PATH 环境变量中,则可能不会发生此错误。

于 2015-07-26T20:34:20.797 回答