拜托,你能帮助我如何在 microsoft visual studio 2010 中链接 libm 数学库,
为了在 ac 程序中使用一些三角函数?
应该只需要放
#include <math.h>
在你的程序中。
在 VS2010 的一个新的空项目中,以下编译没有错误或警告:
#include <stdio.h>
#include <math.h>
int main(){
double a,b,c;
char d;
a = 0.0;
b = cos(a);
c = sqrt(b);
printf("cos(%lf) = %lf, sqrt(cos(%lf)) = %lf\n", a, b, a, c);
d = getchar();
return 0;
}
这是VS2010的编译输出:
1>------ Rebuild All started: Project: test3, Configuration: Debug Win32 ------
1> source.c
1> test3.vcxproj -> c:\users\andy\documents\visual studio 2010\Projects\test3\Debug\test3.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
如果我省略#include <math.h>
我得到这个:
1>------ Rebuild All started: Project: test3, Configuration: Debug Win32 ------
1> source.c
1>c:\users\andy\documents\visual studio 2010\projects\test3\test3\source.c(9): warning C4013: 'cos' undefined; assuming extern returning int
1>c:\users\andy\documents\visual studio 2010\projects\test3\test3\source.c(10): warning C4013: 'sqrt' undefined; assuming extern returning int
1> test3.vcxproj -> c:\users\andy\documents\visual studio 2010\Projects\test3\Debug\test3.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
不需要对链接的 VS2010 库进行任何更改。
也没有红色下划线(智能感知错误)。
我想我知道你的问题。这不是链接器问题。
它是头文件名。例如,要使用数学库,请键入#include <math.h>
. 如果你输入#include <math>
,你会得到不能包含文件的错误。
照常在 Visual Studio 2010 中创建 Visual C++ 项目。使用以下内容进行测试:
#include <math.h>
#include <iostream>
using namespace std;
int main(void)
{
double test = 9.0;
double result = sqrt(test);
cout << "test = " << test << " result = " << result << endl;
}
结果是:
test = 9 result = 3
希望这可以帮助。