GCC Error: Could not find or load main class com.intellij.idea.Main compiling C
GCC Error: Could not find or load main class com.intellij.idea.Main compiling C
无论我做什么,GCC 都会给出这个错误。我已经卸载了 gcc 和所有库,重新安装并重新启动。 gcc 昨晚还在工作,今天当我打开我的笔记本电脑时,它会尝试寻找 intellij 文件。
这是我在 运行 时遇到的错误。注意:我尝试编译的每个源文件都会发生这种情况。今天才开始。昨天还在用。
gcc -c war.c
Error: Could not find or load main class com.intellij.idea.Main
https://github.com/ahester57/WAR
which gcc
给我 /usr/bin/gcc
which as
给我 /usr/bin/as
我试过/usr/bin/gcc -c war.c
,它给出了保存错误(与intellij有关)。我什至没有安装 intellij。
只是寻找任何见解,如果没有其他人遇到此问题,可能会重新安装 OS。在 Ubuntu 17.04 上使用 vim 和 bash。 17.10 就在拐角处。
$ gcc -v -Wall -g ptr.c -o ptr
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 6.3.0-12ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.3.0 20170406 (Ubuntu 6.3.0-12ubuntu2)
COLLECT_GCC_OPTIONS='-v' '-Wall' '-g' '-o' 'ptr' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/6/cc1 -quiet -v -imultiarch x86_64-linux-gnu ptr.c -quiet -dumpbase ptr.c -mtune=generic -march=x86-64 -auxbase ptr -g -Wall -version -fstack-protector-strong -Wformat-security -o /tmp/ccjR19rz.s
GNU C11 (Ubuntu 6.3.0-12ubuntu2) version 6.3.0 20170406 (x86_64-linux-gnu)
compiled by GNU C version 6.3.0 20170406, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/6/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/6/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C11 (Ubuntu 6.3.0-12ubuntu2) version 6.3.0 20170406 (x86_64-linux-gnu)
compiled by GNU C version 6.3.0 20170406, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 5a80a4e17a9c5c8f646e6b274db1ec27
COLLECT_GCC_OPTIONS='-v' '-Wall' '-g' '-o' 'ptr' '-mtune=generic' '-march=x86-64'
as -v --64 -o /tmp/cc267OI7.o /tmp/ccjR19rz.s
Error: Could not find or load main class com.intellij.idea.Main
感谢 Basile,让 gcc 再次工作。
解决方案:
apt-get reinstall gcc gcc-multilib
apt-get reinstall binutils
键入 which gcc
和 which as
(我不会惊讶输出会很奇怪,应该是 /usr/bin/gcc
和 /usr/bin/as
)然后两个 gcc -v
和 gcc --version
;更正(可能在 ~/.bashrc
中)你的 $PATH 的设置(所以使用 echo $PATH
来找出它是什么)并在你的 Makefile
中使用 $(CC)
。顺便说一句,您不需要 Makefile
中带有 gcc
的行,因为 make
具有内置规则(键入 make -p
即可找到它们)
如果这还不够(应该),请添加一个明确的
CC= /usr/bin/gcc
在您的 Makefile
中,这是非常有问题的。
花时间阅读 documentation of make
,然后完全重写您的 Makefile
。
查看 and that 个答案(它们包含相关示例)
您应该使用所有警告和调试信息进行编译,可能需要
CFLAGS+= -Wall -Wextra -g
另请阅读 documentation of GCC. You probably don't need -w
and you are using -c
incorrectly (it is skipping the linking 步骤并进行编译)。
顺便说一句,gcc
的参数顺序很重要(而且你弄错了)。
I have uninstalled gcc and all libraries, done a reinstall and reboot. gcc was working last night, and when I open my laptop today it tries looking for intellij files.
PS。也许您的 /usr/bin/gcc
已损坏(或者您的 as
被 gcc
使用,请尝试重新安装 binutils
软件包)并且可能 您的系统已损坏 ,你需要先修复这个问题才能编辑一个简单的 helloworld.c
程序然后做(在 fresh 终端 运行ning a shell 像 bash
或 zsh
) 一个 gcc -v -Wall -g helloworld.c -o helloworldprogram
然后 运行 ./helloworldprogram
。一旦一切顺利,请阅读 documentation of make
、GCC 文档 并重新开始您的项目。
附录
在您提到的评论中 https://github.com/ahester57/WAR here is a better Makefile for commit 7ed7133e09c7bb2af:
# Makefile improved by Basile Starynkevitch
CC= gcc
CFLAGS= -Wall -g
LDLIBS= -lm
SOURCES= cards.c war.c
# or perhaps SOURCES= $(wildcard *.c)
OBJECTS= $(patsubst %.c,%.o,$(SOURCES))
.PHONY: all clean
all: war
war: $(OBJECTS)
$(OBJECTS): cards.h
clean:
$(RM) $(OBJECTS) war *~
您看到的问题是找不到 as(GNU 汇编程序)。
当 gcc 尝试加载汇编器时,尝试了完全不同的东西。
我的(大胆的)猜测是您将 Android Studio 安装为 'as'。至少错误消息看起来有点熟悉。
无论我做什么,GCC 都会给出这个错误。我已经卸载了 gcc 和所有库,重新安装并重新启动。 gcc 昨晚还在工作,今天当我打开我的笔记本电脑时,它会尝试寻找 intellij 文件。
这是我在 运行 时遇到的错误。注意:我尝试编译的每个源文件都会发生这种情况。今天才开始。昨天还在用。
gcc -c war.c
Error: Could not find or load main class com.intellij.idea.Main
https://github.com/ahester57/WAR
which gcc
给我 /usr/bin/gcc
which as
给我 /usr/bin/as
我试过/usr/bin/gcc -c war.c
,它给出了保存错误(与intellij有关)。我什至没有安装 intellij。
只是寻找任何见解,如果没有其他人遇到此问题,可能会重新安装 OS。在 Ubuntu 17.04 上使用 vim 和 bash。 17.10 就在拐角处。
$ gcc -v -Wall -g ptr.c -o ptr
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 6.3.0-12ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.3.0 20170406 (Ubuntu 6.3.0-12ubuntu2)
COLLECT_GCC_OPTIONS='-v' '-Wall' '-g' '-o' 'ptr' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/6/cc1 -quiet -v -imultiarch x86_64-linux-gnu ptr.c -quiet -dumpbase ptr.c -mtune=generic -march=x86-64 -auxbase ptr -g -Wall -version -fstack-protector-strong -Wformat-security -o /tmp/ccjR19rz.s
GNU C11 (Ubuntu 6.3.0-12ubuntu2) version 6.3.0 20170406 (x86_64-linux-gnu)
compiled by GNU C version 6.3.0 20170406, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/6/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/6/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C11 (Ubuntu 6.3.0-12ubuntu2) version 6.3.0 20170406 (x86_64-linux-gnu)
compiled by GNU C version 6.3.0 20170406, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 5a80a4e17a9c5c8f646e6b274db1ec27
COLLECT_GCC_OPTIONS='-v' '-Wall' '-g' '-o' 'ptr' '-mtune=generic' '-march=x86-64'
as -v --64 -o /tmp/cc267OI7.o /tmp/ccjR19rz.s
Error: Could not find or load main class com.intellij.idea.Main
感谢 Basile,让 gcc 再次工作。
解决方案:
apt-get reinstall gcc gcc-multilib
apt-get reinstall binutils
键入 which gcc
和 which as
(我不会惊讶输出会很奇怪,应该是 /usr/bin/gcc
和 /usr/bin/as
)然后两个 gcc -v
和 gcc --version
;更正(可能在 ~/.bashrc
中)你的 $PATH 的设置(所以使用 echo $PATH
来找出它是什么)并在你的 Makefile
中使用 $(CC)
。顺便说一句,您不需要 Makefile
中带有 gcc
的行,因为 make
具有内置规则(键入 make -p
即可找到它们)
如果这还不够(应该),请添加一个明确的
CC= /usr/bin/gcc
在您的 Makefile
中,这是非常有问题的。
花时间阅读 documentation of make
,然后完全重写您的 Makefile
。
查看
您应该使用所有警告和调试信息进行编译,可能需要
CFLAGS+= -Wall -Wextra -g
另请阅读 documentation of GCC. You probably don't need -w
and you are using -c
incorrectly (it is skipping the linking 步骤并进行编译)。
顺便说一句,gcc
的参数顺序很重要(而且你弄错了)。
I have uninstalled gcc and all libraries, done a reinstall and reboot. gcc was working last night, and when I open my laptop today it tries looking for intellij files.
PS。也许您的 /usr/bin/gcc
已损坏(或者您的 as
被 gcc
使用,请尝试重新安装 binutils
软件包)并且可能 您的系统已损坏 ,你需要先修复这个问题才能编辑一个简单的 helloworld.c
程序然后做(在 fresh 终端 运行ning a shell 像 bash
或 zsh
) 一个 gcc -v -Wall -g helloworld.c -o helloworldprogram
然后 运行 ./helloworldprogram
。一旦一切顺利,请阅读 documentation of make
、GCC 文档 并重新开始您的项目。
附录
在您提到的评论中 https://github.com/ahester57/WAR here is a better Makefile for commit 7ed7133e09c7bb2af:
# Makefile improved by Basile Starynkevitch
CC= gcc
CFLAGS= -Wall -g
LDLIBS= -lm
SOURCES= cards.c war.c
# or perhaps SOURCES= $(wildcard *.c)
OBJECTS= $(patsubst %.c,%.o,$(SOURCES))
.PHONY: all clean
all: war
war: $(OBJECTS)
$(OBJECTS): cards.h
clean:
$(RM) $(OBJECTS) war *~
您看到的问题是找不到 as(GNU 汇编程序)。 当 gcc 尝试加载汇编器时,尝试了完全不同的东西。
我的(大胆的)猜测是您将 Android Studio 安装为 'as'。至少错误消息看起来有点熟悉。