我有一个名为lol.c
#include <iostream>
using namespace std;
int main() {
return(0);
}
从终端,我输入g++ lol.c
这是输出:
In file included from /usr/include/wchar.h:36:0,
from /usr/include/c++/4.9/cwchar:44,
from /usr/include/c++/4.9/bits/postypes.h:40,
from /usr/include/c++/4.9/iosfwd:40,
from /usr/include/c++/4.9/ios:38,
from /usr/include/c++/4.9/ostream:38,
from /usr/include/c++/4.9/iostream:39,
from lol.c:1:
/usr/include/stdio.h:30:22: fatal error: SDL_main.h: File o directory non esistente
#include "SDL_main.h"
^
compilation terminated.
我不知道问题是否与SDL有关,但当我尝试运行../configure
进行安装时,我有这个:
configure: error: cannot run C compiled programs.
See `config.log' for more details
如果需要,我也可以输入config.log文件。
答案 0 :(得分:3)
存在多个问题:
.c
扩展名;这是错误的,C ++文件应该有.cpp
(或.cxx
,.C
,.c++
,最后两个有点不受欢迎)扩展,或者编译器可能会尝试将其编译为C代码; /usr/include/stdio.h
包含来自SDL的内容(与此相比,无法找到它只是一个小事故);你应该真正清除并重新安装与gcc相关的任何内容以及 C库的头文件;寻找一些libc6-dev软件包(或类似软件包)来重新安装(注意不要弄乱C库,否则你的系统可能会被渲染到基本上无法启动)。 答案 1 :(得分:1)
您无法将.c
(c扩展名)提供给c ++文件。
1 - 将其更改为.cpp
(c ++扩展名,lol.cpp)
2 - 您必须为g ++提供选项(在您的情况下使用-o创建可执行文件)g++ lol.cpp -o nameofyourprogram
3 - 通过您的终端./nameofyourprogram