Supponiamo di disporre di tre file sorgente C. I primi due sono LIBs (lib * .a?), E il terzo è un'applicazione che li usa.Collegamento statico di librerie in MinGW
Il primo è (re.c):
int re(int i) {
return i;
}
Il secondo è (test.c):
int re(int); // Depends on re.c
int test(int i) {
return re(i);
}
E il terzo è (main.c):
#include<stdio.h>
int test(int); // Uses test.c
int main(void) {
printf("%d\n",test(0));
return 0;
}
Ora come posso creare i primi due LIB in modo tale da permettermi di collegarli staticamente in un secondo momento con l'applicazione principale?
so come creare le DLL e collegarli in modo dinamico nella mia applicazione come ad esempio:
cc -o re.dll re.c -shared -Wl, - out-IMPLIB = libre.a (per re.c)
cc -o test.dll test.c -L. -lre -shared -Wl, - out-implib = libtest.a (per test.c)
cc -o main.exe main.c -L. -lre -ltest
Così come creare LIBS equivalenti a essere staticamente collegati nel mio binario eseguibile in MinGW, e come collegarli?
Ovviamente, sotto Windows :)
Ho usato -statico, ma sembra inutile. Non ho usato -mwindows, comunque. Che cos'è? –
-mwindows specifica un'applicazione gui, -monsole un'applicazione console in mingw. Mi chiedo solo se questi hanno qualcosa che aiuti. Collega anche le librerie di Windows all'applicazione se queste sono mancanti. Hai provato a dependencywalker per vedere quali sono mancanti? – rotator