3つのCソースファイルがあるとします。最初の2つはLIB(lib * .a?)であり、3つ目はそれらを使用するアプリケーションです。
最初は(re.c)です:
int re(int i) {
return i;
}
2番目は(test.c)です:
int re(int); // Depends on re.c
int test(int i) {
return re(i);
}
そして3番目は(main.c)です:
#include<stdio.h>
int test(int); // Uses test.c
int main(void) {
printf("%d\n",test(0));
return 0;
}
では、最初の2つのLIBを、後でメインアプリケーションと静的にリンクできるように作成するにはどうすればよいですか?
DLLを作成し、次のようなアプリケーションで動的にリンクする方法を知っています。
cc -o re.dll re.c -shared -Wl、--out-implib = libre.a(re.cの場合)
cc -o test.dlltest.c-L。-lre -shared -Wl、--out-implib = libtest.a(test.cの場合)
cc -o main.exemain.c-L。-lre -ltest
では、MinGWの実行可能バイナリ内で静的にリンクされる同等のLIBを作成する方法と、それらをリンクする方法は?
明らかに、Windowsでは:)