Go 语言报 expected ‘package’, found ‘import’ 错误的处理方法
一段Go语言的程序,用
go run
运行了一下,结果计算机报错:expected ‘package’, found ‘import’
在文件的开头加上
package main
就好了。编译错误“ undefined reference to ‘sqrt‘ ”解决方法
明明使用sqrt()
函数时我们已经引用了头文件:#include <math.h>
,编译器还是提示找不到对应的库函数。
原因分析:
包含了math.h头文件也报错,是因为gcc默认指定头文件对应的库文件中不包括math库,即math库不是gcc默认指定的库文件,编译时需要将gcc手动指定到math库。
解决方案:
我们分别从gcc编译,cmake文件、makefile中解决编译中出现的undefined reference to ‘sqrt‘问题。
gcc直接编译
gcc编译的时候可以直接加上-lm选项,-l为指定库,m为math库。例如将 tutorial.c编译成可执行文件Tutorial,则完整编译语句为:
gcc -o Tutorial tutorial.c -lm: