Jak połączyć wiele *.o

Jak połączyć wiele *.o
  • Rejestracja: dni
  • Ostatnio: dni
0

Mam bardzo wiele plików *.o i na jeden raz nie mogę ich zlinkować do jednego exe, bo mi przycina za długie polecenie. Można jakoś to obejść pośrednio łącząc trochę plików *.o w jeden?

Korzystam z MinGW

stryku
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 607
0

Oblicz SHA-512 z polecenia i przekaż do mingw. Podobno daje sobie radę ;)

http://stackoverflow.com/questions/2980102/combine-two-gcc-compiled-o-object-files-into-a-third-o-file

  • Rejestracja: dni
  • Ostatnio: dni
0

Jak mam to zrobić, bo nie za bardzo wiem w tym przypadku. A w tym linku co podesłałeś to sprawdziłem opcję -r, ona działa w takim sensie, że nie pokazuje błędu. Ale przy próbie potem linkowania do tak utworzonego *.o pokazało setki brakujący i duplikatów co jest niemożliwe, bo sprawdziłem to na tej części kodu, która się normalnie kompiluje i normalnie tworzy dll. A po operacji

Kopiuj
g++ -r zbior.o lista.....plikow.....o
g++ -shared -o $dll.dll zbior.o $(LIBS) -Wl,--out-implib,libdll.a
  • Rejestracja: dni
  • Ostatnio: dni
0

A po operacji

Kopiuj
g++ -r zbior.o lista.....plikow.....o
g++ -shared -o dll.dll zbior.o $(LIBS) -Wl,--out-implib,libdll.a

Daje setki błędów, podczas gdy na operacji:

Kopiuj
g++ -r zbior.o lista.....plikow.....o
g++ -shared -o dll.dll lista.....plikow.....o $(LIBS) -Wl,--out-implib,libdll.a
  • Rejestracja: dni
  • Ostatnio: dni
0

na tej drugiej jest ok, tylko że bez pierwszej linii bo ona zbędna, ale nie mam możliwości wyedytowania.

  • Rejestracja: dni
  • Ostatnio: dni
0

Ok, znalazłem. Tak można połączyć.

Kopiuj
ld -r -o zbior.o plik.o plik2.o ...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.