【问题标题】:GCC -v returns GCC 4.7.3 even though I unpacked 4.8.1?即使我解压了 4.8.1,GCC -v 也会返回 GCC 4.7.3?
【发布时间】:2013-09-23 02:36:31
【问题描述】:

所以我去这个链接Source Forge MinGW 下载并安装MinGW 4.8.1。 (第 5 版)。我将它解压到 C:\MinGW\mingw32 中。所以我打开命令提示符(win 32 系统)并运行 gcc -v 我得到 GCC 是 4.7.3。这是 gcc -v 的完整输出:

C:\MinGW\mingw32>gcc -v Using built-in specs. COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/4.7.3/lto-wrapper.exe
Target: i686-pc-cygwin Configured with:
/cygdrive/i/szsz/git/cygwin-ports-gcc/gcc-4.7.3-1/src/gcc-4.7.3
/configure
--srcdir=/cygdrive/i/szsz/git/cygwin-ports-gcc/gcc-4.7.3-1/src/gcc-4.
7.3 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --lib execdir=/usr/lib --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --d atarootdir=/usr/share --docdir=/usr/share/doc/gcc -C --build=i686-pc-cygwin --ho st=i686-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix
--without-li bintl-prefix --enable-shared --enable-shared-libgcc --enable-static --enable-ver sion-specific-runtime-libs --enable-bootstrap --disable-__cxa_atexit --with-dwar f2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --enable-langu ages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-threads= posix --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmat h-support --enable-libssp --enable-libada --enable-libjava --enable-libgcj-subli bs --disable-java-awt --disable-symvers
--with-ecj-jar=/usr/share/java/ecj.jar -
-with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-ppl --with-sy stem-zlib : (reconfigured) /cygdrive/i/szsz/git/cygwin-ports-gcc/gcc-4.7.3-1/src
/gcc-4.7.3/configure
--srcdir=/cygdrive/i/szsz/git/cygwin-ports-gcc/gcc-4.7.3-1/ src/gcc-4.7.3 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin
--sbindir=/usr/ sbin --libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var --sysconfdi r=/etc --datarootdir=/usr/share --docdir=/usr/share/doc/gcc -C --build=i686-pc-c ygwin --host=i686-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix -- without-libintl-prefix --enable-shared --enable-shared-libgcc --enable-static -- enable-version-specific-runtime-libs --enable-bootstrap
--disable-__cxa_atexit -
-with-dwarf2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --en able-languages=ada,c,c++,fortran,java,lto,objc,obj-c++
--enable-graphite --enabl e-threads=posix --enable-libgomp --disable-libitm --enable-libquadmath --enable- libquadmath-support --enable-libssp --enable-libada --enable-libjava --enable-li bgcj-sublibs --disable-java-awt --disable-symvers
--with-ecj-jar=/usr/share/java /ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-ppl  --with-system-zlib Thread model: posix gcc version 4.7.3 (GCC)

C:\MinGW\mingw32>

我想知道为什么它解压了早期版本以及如何解决这个问题。显然 C::B 也将其视为早期版本!真的让我很困惑O.o 此外,提示返回线程在应该是 Win32 时使用 Posix,再次让我的大脑颤抖。

如果有人能指出一些链接,或清除其中任何一个,将不胜感激!

【问题讨论】:

  • 您解压的内容和调用程序时操作系统呈现的内容不必相同。有没有重刷?确认路径相同?或者新版本在路径的稍后位置?您可能希望将 gcc 命令别名为您想要的版本。键入which gcc 以查看操作系统认为“当前版本”所在的位置 - 这应该会有所帮助。 编辑我意识到which 命令在Windows 中可能不起作用(刚刚注意到C: 驱动器号)但关于路径的要点仍然有效。
  • 太棒了!在安装 Msys 之前,我必须前往安装/解压 gcc 的位置运行 gcc -v。在安装 Msys 并使用“which gcc”听取您的建议后,我发现该位置指向 /usr/bin/gcc。好的,其他东西一定是让我的程序无法正确编译......除了感谢您的帮助之外,我会说这已经解决了!呃......我如何检查这个已解决? SOF第一次来电的长期听众:P
  • 我已将我的评论重新发布为“答案”,因此您可以使用答案左侧的小复选标记将其标记为“已解决”。
  • @allegory:就是这样。就这样。 SOF 是“财富战士”。

标签: c++ c gcc g++ mingw


【解决方案1】:

您解压的内容和调用程序时操作系统呈现的内容不一定是同一回事。你做rehash了吗?确认路径相同?或者新版本是否在路径的稍后位置?您可能希望将 gcc 命令别名为您想要的版本。键入 which gcc 以查看操作系统认为“当前版本”所在的位置 - 这应该会有所帮助。编辑我意识到 which 命令在 Windows 中可能不起作用(只是注意到 C: 驱动器号)但关于路径的要点仍然有效。

【讨论】:

  • 在编辑完路径后,我可以像往常和习惯的那样 cd 到包含 gcc.exe 的目录并运行 gcc -v 返回正确的版本 8.4.1 :D跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
相关资源
最近更新 更多