0

Windows 7 / Visual Studio 2010 でプロジェクトをビルドするのに苦労しており、この時点に到達するためにグーグルで他のエラーを修正したことを認めるよりも長い時間を費やしましたが、イライラすることに、最後のエラーを取り除くことができないようです. math.h で定義されている _hypot 関数に関連するリンカー エラーがあります。

wxTheAppInitializer" (?wxTheAppInitializer@@3VwxAppInitializer@@A) は、既に main.obj で定義されています: エラー LNK2001: 未解決の外部シンボル _hypot 1>libgsl.a(linalg_householder.o) : エラー LNK2001: 未解決の外部シンボル _hypot

: 致命的なエラー LNK1120: 1 つの未解決の外部情報

静的ライブラリを使用するときに未解決の外部シンボル「_hypot」のアドバイスに従うと、次のようになります。

1> コードを生成しています... 1> main.obj : エラー LNK2005: _hypot は About.obj で既に定義されています 1> 致命的なエラー LNK1169: 1 つ以上の複数定義されたシンボルが見つかりました

誰が何が起こっているのか説明できますか?

4

1 に答える 1

0

次の内容で .c ファイルを作成します。

extern double fabs(double);
extern double sqrt(double);

double hypot(double x, double y) {
  double ax = fabs(x), ay = fabs(y);
  double xy = x/y, yx = y/x;
  return ax > ay
    ? ax * sqrt(1.0 + yx*yx)
    : ay * sqrt(1.0 + xy*xy);
}

math.h を含めないでください

于 2012-11-23T05:26:20.080 に答える