0

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

为了在 ac 程序中使用一些三角函数?

4

2 回答 2

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 库进行任何更改。

也没有红色下划线(智能感知错误)。

于 2014-09-17T02:06:46.760 回答
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

希望这可以帮助。

于 2014-09-17T01:36:28.350 回答