我有以下代码(根据这个问题的基础知识):
#include<stdio.h>
#include<math.h>
double f1(double x)
{
double res = sin(x);
return 0;
}
/* The main function */
int main(void)
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当gcc test.c我编译它时,我得到以下错误,我无法解决原因:
/tmp/ccOF5bis.o: In function `f1':
test2.c:(.text+0x13): undefined reference to `sin'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
但是,我编写了各种sin从main函数内部调用的测试程序,并且这些程序完美地工作.我必须在这里做一些明显错误的事 - 但它是什么?
例如
#include <iostream>
int add(int x, int y);
int main()
{
cout << add(5, 5) << endl;
}
Run Code Online (Sandbox Code Playgroud)
这将编译但不链接.我理解这个问题,我只是不明白它为什么编译好但没有链接.