拜托,您能帮助我如何链接microsoft visual studio 2010中的libm数学库,
为了在c程序中使用某些三角函数?
答案 0 :(得分:1)
只需要输入
#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库进行任何更改。
也没有红色下划线(智能感知错误)。
答案 1 :(得分:0)
我想我知道你的问题。这不是链接器问题。
这是头文件名。例如,要使用数学库,请键入#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
希望这有帮助。