如何在microsoft visual studio 2010中链接libm库

时间:2014-09-17 01:14:52

标签: c libm

拜托,您能帮助我如何链接microsoft visual studio 2010中的libm数学库,

为了在c程序中使用某些三角函数?

2 个答案:

答案 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

希望这有帮助。