1

同様の問題を探しましたが、唯一のトピックはライブラリの使用に関するトピックである可能性があり、これは避けたいと思います...これが私の問題です。次のエラーが発生します。

1>Signal generator.obj : error LNK2001: unresolved external symbol "double __cdecl findMaxModulus(double *,int)" (?findMaxModulus@@YANPANH@Z)

Visual Studio Professional 2008 を使用して AC プログラムを開発しています。メイン ファイルと、作成したすべての関数を含む別のファイル myFunctions.h/c があります。問題は、「myFunctions.c」をインクルードするとこれらのエラーが発生しないのに対し、「myFunctions.h」をインクルードするとこれらのエラーが発生することです。

私は大学で覚えていることをやっています (私は今、より多くの matlab に夢中になっています)。

/* Home-made includes */
#include "myType.h"
#include "myFunctions.h"

その他のヘッダー (stdlib、数学など) をインクルードした直後

推測はありますか?ありがとうございました

4

2 に答える 2

3

エラーは、リンカが関数を見つけられなかったことを意味します。これはおそらく、myFunctions.cファイルをまったくコンパイルしていないことを意味します。VisualStudioのプロジェクトに「ソースファイル」として追加されていることを確認してください。

于 2012-12-04T10:01:42.043 に答える
0

試してみたい場合は、以下のように両方のファイルを同じようgccにコンパイルしてみてください。.c

gcc -Wall main.c myfunction.c -o final.out

他のファイルが見つから.cないため、リンク段階でリンカは外部シンボル (関数) を解決できませんでした。私が言ったようにしてみてください。

Visual Studio の場合: ビルドを行うには、すべてのソース ファイルがチェックされているかどうかを確認する必要があります。複数のソース ファイルから多数のファイルを含めるオプションがあります。

于 2012-12-04T10:10:34.360 に答える