wangyan361 发表于 2019-12-7 18:41:23

小白求助错误 obj - 1error(s)

#include <stdio.h>
#include <math.h>

void main()
{
        double x, s;

        printf("input number:\n");
        scanf("%1f", &x);
        s = sin(x);
        printf("sin of %1f is %1f\n", x, s);
}



hello world.obj - 1 error(s), 0 warning(s)
报错了 这是哪里出了问题 请大神帮忙看下

zltzlt 发表于 2019-12-7 18:55:23

我编译没出问题,你确定你使用了 -lm 命令编译?
https://xxx.ilovefishc.com/forum/201512/19/031127foc19oz59cq199m1.png

wangyan361 发表于 2019-12-7 19:13:21

zltzlt 发表于 2019-12-7 18:55
我编译没出问题,你确定你使用了 -lm 命令编译?

我用的是WIN10系统 新手小白一名 -lm是啥意思...

zltzlt 发表于 2019-12-7 19:16:10

wangyan361 发表于 2019-12-7 19:13
我用的是WIN10系统 新手小白一名 -lm是啥意思...

先不管是什么意思,如果你的代码引用了 math 库,编译时就要加上 -lm 选项。

jackz007 发表于 2019-12-7 19:17:27

本帖最后由 jackz007 于 2019-12-7 19:28 编辑

      scanf("%1f", &x);
      s = sin(x);
      printf("sin of %1f is %1f\n", x, s);
      目测红色字符是数字1,必须改成字母 l(小写的 L)。
         编译加 -lm 选项的意思是,本程序使用系统提供的 libm.so 动态库,类似于 windows 的 dll 文件,这样,程序中使用的数学函数 sin() 才会得到 支持,否则,这个函数会没有着落。

wangyan361 发表于 2019-12-7 19:19:37

zltzlt 发表于 2019-12-7 19:16
先不管是什么意思,如果你的代码引用了 math 库,编译时就要加上 -lm 选项。

怎么加? 方便加个QQ教教我吗

zltzlt 发表于 2019-12-7 19:20:55

wangyan361 发表于 2019-12-7 19:19
怎么加? 方便加个QQ教教我吗

不方便。其实直接 gcc -lm test.c 就可以编译成 test.exe 可执行文件。

wangyan361 发表于 2019-12-7 19:22:35

jackz007 发表于 2019-12-7 19:17
scanf("%1f", &x);
      s = sin(x);
      printf("sin of %1f is %1f\n", x, s);


改过了还是报错

_2_ 发表于 2019-12-7 19:40:21

你用的什么?Dev-C++?

wangyan361 发表于 2019-12-7 19:46:35

_2_ 发表于 2019-12-7 19:40
你用的什么?Dev-C++?

Visual C++ 6.0

zltzlt 发表于 2019-12-7 19:46:55

wangyan361 发表于 2019-12-7 19:22
改过了还是报错

命令行切换到程序目录,执行 gcc -lm test.c(test.c 是程序文件名)。

zltzlt 发表于 2019-12-7 19:53:59

wangyan361 发表于 2019-12-7 19:46
Visual C++ 6.0

不建议使用 VC++ 6.0。原因

建议使用 Dev-C++。

_2_ 发表于 2019-12-7 19:58:51

zltzlt 发表于 2019-12-7 19:16
先不管是什么意思,如果你的代码引用了 math 库,编译时就要加上 -lm 选项。

你什么时候装的虚拟机?!

zltzlt 发表于 2019-12-7 19:59:33

本帖最后由 zltzlt 于 2019-12-7 20:08 编辑

_2_ 发表于 2019-12-7 19:58
你什么时候装的虚拟机?!

这是小甲鱼的图片……
页: [1]
查看完整版本: 小白求助错误 obj - 1error(s)