私は C とプログラミングにかなり慣れていないので、皆さんが少し辛抱してくれることを願っています。ただし、私は自分の問題をできるだけ正確に説明しようとしています。Windows 7 コンピューターで mingw32 を使用していますが、'make' について学びました。いくつかのソース コード ファイルと Makefile を作成しました。私が望むのは、Makefile が私のソース コードの int オブジェクト コードをコンパイルし、それを 1 つの実行可能ファイルにリンクすることです (プロにとっては、これは大したことではないと思います)。
だからここに私のコードがあります:
first.c:
#include<stdio.h>
#include"second.h"
int main()
{
float x = 12.0;
printf("Result is: %.2f\n",go_to_the_other(x));
return 0;
}
秒.h
float go_to_the_other(float f);
セカンド.c
float go_to_the_other(float f)
{
float calc = f + 10;
return calc;
}
Makefile は次のとおりです (はい、タブのみを使用しました)。
second.o: second.c second.h
gcc -c second.c
first.o: first.c
gcc -c first.c
first: first.o second.o
gcc first.o second.o -o first
これは簡単な例ですが、私の問題をほぼ説明しています。すべてのファイルが同じディレクトリにあり、コマンド ラインを使用します。
mingw32-make first
しかし、ファイルをコンパイルする代わりに、次のメッセージしか表示されません。
cc first.c -o first
process_begin: CreateProcess(NULL, cc first.c -o first, ...) failed
make (e=2): The system cannot find the file specified.
<builtin>: recipe for target 'first' failed
mingw32-make: ***[first] Error 2
おそらく本当にばかげていると思いますが、何が間違っているのかわかりません。これについて何か助けていただければ幸いです。よろしくお願いします。