我是 C 语言程序编写方面的绝对初学者,编译一个简单的程序时遇到了困难。这是我的代码:
/* This code is a .c file that prints out the words hello, world. */
# include <stdio.h>
int main()
{
printf("Hello World! \n");
}
这是我在编译时遇到的错误:
Ubuntu:~/Desktop/cFiles$ gcc -Wall hello.c -o hello.out -lmls
hello.c:5:1: warning: return type defaults to ‘int’ [-Wreturn-type]
hello.c: In function ‘main’:
hello.c:7:3: warning: implicit declaration of function ‘print’ [-Wimplicit-function-declaration]
hello.c:8:1: warning: control reaches end of non-void function [-Wreturn-type] /usr/bin/ld: cannot find -lmls
collect2: ld returned 1 exit status
我不知道我做错了什么。有人能帮忙吗?
答案1
好像您有一个不需要的space
between#
和include
:
# include <stdio.h>
做那个
#include <stdio.h>
并编译。
这应该可以帮你解决问题。
答案2
您的代码无法编译的原因在于行尾的 -lmls。这是在寻找一个名为“mls”的库。(也许您将使用libmls 用于最大长度序列之后?)
使用以下方式编译
Ubuntu:~/Desktop/cFiles$ gcc -Wall hello.c -o hello.out
其余输出都是警告。其中大多数与您提供的代码不匹配。要删除编译器警告:
- 您已经在您提供的代码中修复了“返回类型默认为‘int’”(通过添加 int 作为 main 的返回类型)。
- 您已经通过添加 #include 修复了“函数‘print’的隐式声明”。
- 要删除“控制到达非 void 函数末尾”警告,请在主函数末尾添加 return(0); 。