【问题标题】:g++ no file generatedg++ 没有生成文件
【发布时间】:2014-10-04 04:31:01
【问题描述】:

所以我的问题是,当我尝试使用 g++ 编译我的文件时,我没有得到输出文件。我在 Windows 8 上使用 Cygwinx64。这个命令也在一周前工作,所以这很奇怪。我曾尝试重新安装 g++ 的 cygwin 包,但没有运气。

TL;DR 当我尝试在 cygwin 上使用 g++ 进行编译时,没有任何反应

$ ls       
traverse.cc // this is a simple hello world program

$ g++ -o hello traverse.cc

$ ls            
traverse.cc // no file is generated...

提前致谢!

附:我可以访问 g++,但它不起作用

$ g++ -v          
Using built-in specs.
COLLECT_GCC=g++           
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/4.8.3/lto-wrapper.exe          
Target: x86_64-pc-cygwin
Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-4.8.3-3.x86_64/src/gcc-4.8.3/configure 
--srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-4.8.3-3.x86_64/src/gcc-4.8.3 --prefix=/usr --exec-prefix=/usr 
--bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share 
--localstatedir=/var --sysconfdir=/etc --libdir=/usr/lib --datarootdir=/usr/share 
--docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin 
--host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix 
--without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc
--enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit 
--with-dwarf2 --with-tune=generic --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ 
--enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm 
--enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada 
--enable-libgcj-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-isl --without-libiconv-prefix
 --without-libintl-prefix --with-system-zlib --enable-linker-build-id         
Thread model: posix          
gcc version 4.8.3 (GCC)

我使用的文件夹路径也不包含空格:/cygdrive/h/users/jesse/workspace/hello_world/src

【问题讨论】:

  • 根据$ ls traverse.cc的输出(或者,更准确地说,缺少输出),你没有traverse.cc。你应该得到一个编译器错误。
  • 抱歉更新了格式问题。 traverse.cc 是 ls 的输出。当我问@jww这个问题时,他们只是没有正确输出
  • 现在我只是在使用 cygwin 之外的另一个 minGW g++ 实例。这可行,但如果有人能找到 cygwin g++ 的解决方案,我会是一个快乐的人。谢谢!

标签: c++ gcc g++ cygwin


【解决方案1】:

不确定执行时会看到什么

ls traverse.cc

当您执行该命令时,您应该只看到

traverse.cc

如果下面的命令

g++ -o hello traverse.cc

不会产生错误,您将在 cygwin 下看到一个文件 hello.exe。试试

ls hello.exe

或者,简单地说

ls

您应该在输出中看到hello.exe

【讨论】:

  • 抱歉格式错误。我刚刚更新了它。 traverse.cc 是 ls 的输出。 @R萨胡
猜你喜欢
  • 2020-02-07
  • 1970-01-01
  • 1970-01-01
  • 2015-05-21
  • 2017-11-14
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多