【问题标题】:Eclipse Make Error 127Eclipse 生成错误 127
【发布时间】:2011-03-29 13:51:21
【问题描述】:

这是我第一次使用 Eclipse,也是我第一次在 linux 环境中编程。所以我最终可能会发布一些半无用的信息,但我只是想尽我所能提供任何细节。

问题:我正在尝试构建一个项目,但收到以下错误和警告。

问题:为了在 IDE 中开始在 linux 中使用 c++,我必须做什么,或者得到什么?修复错误会很棒,但上述是我的基本目标。

IDE 信息:

Eclipse
Version: Helios Release
Build id: 20100617-1415

操作系统信息:

Fedora 13: i686

错误(1 项)

make: *** [src/xoorMath.o] Error 127 xoorMath C/C++ Problem

警告(2 项)

Error launching external scanner info generator (g++ -E -P -v -dD /home/xoorath/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp) xoorMath Unknown  C/C++ Problem
Error launching external scanner info generator (g++ -E -P -v -dD /home/xoorath/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp) xoorMath Unknown  C/C++ Problem

源代码

//============================================================================
// Name        : xoorMath.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
using namespace std;

int main() {
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!

    return 0;
}

生成的 Makefile

################################################################################
# Automatically-generated file. Do not edit!
################################################################################

-include ../makefile.init

RM := rm -rf

# All of the sources participating in the build are defined here
-include sources.mk
-include subdir.mk
-include src/subdir.mk
-include objects.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables 

# All Target
all: xoorMath

# Tool invocations
xoorMath: $(OBJS) $(USER_OBJS)
    @echo 'Building target: $@'
    @echo 'Invoking: GCC C++ Linker'
    g++  -o"xoorMath" $(OBJS) $(USER_OBJS) $(LIBS)
    @echo 'Finished building target: $@'
    @echo ' '

# Other Targets
clean:
    -$(RM) $(OBJS)$(C++_DEPS)$(C_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(CXX_DEPS)$(C_UPPER_DEPS) xoorMath
    -@echo ' '

.PHONY: all clean dependents
.SECONDARY:

-include ../makefile.targets

编辑 尝试运行 'gcc -E -P -v -dD /home/xoorath/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp'

[root@wt227-09-fedora xoorath]# gcc -E -P -v -dD /home/xoorath/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp
Using built-in specs.
Target: i686-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux
Thread model: posix
gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) 
COLLECT_GCC_OPTIONS='-E' '-P' '-v' '-dD' '-mtune=generic' '-march=i686'
 cc1plus -E -quiet -v -P -D_GNU_SOURCE /home/xoorath/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp -mtune=generic -march=i686 -dD
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
[root@wt227-09-fedora xoorath]# 

【问题讨论】:

  • 您可以尝试运行 gcc 命令并查看结果:g++ -E -P -v -dD /home/xoorath/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp
  • @Kaleb Pederson 试一试;不幸的是,它没有解决问题。我在上面的编辑中发布了命令的结果。
  • 是的,它不应该修复它...只需告诉我们它失败的原因 - 你想通了。
  • @Kaleb Pederson 很公平,它确实有帮助。谢谢。
  • 我以与@Xoorath 类似的方式解决了同样的问题。我宁愿发布以下链接:Steps for installing gcc c++ compiler in ubuntu,因为它很简单。我使用 ubuntu 11.10 和 eclipse indigo。已安装插件:C/C++ 开发工具和自动工具对 CDT 的支持。

标签: c++ linux eclipse compiler-errors


【解决方案1】:

真正简单的解决方案。原来我没有g++。我安装了 gcc,也许这里有人知道其中的区别,如果有,请不吝赐教。

我必须进入控制台并执行以下操作

yum install gcc-c++

就是这样。

【讨论】:

    【解决方案2】:

    以下是 make 返回的值。

    0 - 如果所有 makefile 都已成功解析并且没有构建的目标失败 1 - 如果使用了 -q 标志并且 make 确定需要重建目标 2 - 如果遇到任何错误。

    以及任何形式的错误编号,

    ‘[foo] 错误 NN’ ‘[foo] 信号描述’ 这些错误根本不是真正的错误。它们意味着作为配方的一部分调用 make 的程序返回了一个非 0 错误代码('Error NN'),这使得 make 解释为失败,或者它以某种其他异常方式退出(带有某种类型的信号)。

    如果没有 * 附加到消息中,则子进程失败,但 makefile 中的规则以 - 特殊字符为前缀,因此 make 忽略了错误。

    因此,这里 make 返回值 127 的情况是由 shell 返回的,而不是从 make 中返回的。请参考 bash 的手册页。

    【讨论】:

    • 所以,在我的 HelloJNI.cpp 案例中,我正在调用我自己的共享库。它运行成功,但给出了类似java: symbol lookup error: /home/aahmed/libplxmsg-java/libs/libplxmsgjavabinder.so: undefined symbol: _ZN9LibPlxMsg6createESsSs make: *** [run] Error 127 的错误。程序运行成功,输出也来了..有什么办法可以避免这个错误?
    猜你喜欢
    • 1970-01-01
    • 2014-11-02
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多