在 Ubuntu 12.04 上编译 C 程序

在 Ubuntu 12.04 上编译 C 程序

我是 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

好像您有一个不需要的spacebetween#include

# include <stdio.h>   

做那个

#include <stdio.h> 

并编译。
这应该可以帮你解决问题。

答案2

您的代码无法编译的原因在于行尾的 -lmls。这是在寻找一个名为“mls”的库。(也许您将使用libmls 用于最大长度序列之后?)

使用以下方式编译

Ubuntu:~/Desktop/cFiles$ gcc -Wall hello.c -o hello.out

其余输出都是警告。其中大多数与您提供的代码不匹配。要删除编译器警告:

  1. 您已经在您提供的代码中修复了“返回类型默认为‘int’”(通过添加 int 作为 main 的返回类型)。
  2. 您已经通过添加 #include 修复了“函数‘print’的隐式声明”。
  3. 要删除“控制到达非 void 函数末尾”警告,请在主函数末尾添加 return(0); 。

相关内容