Make fail: niejawny błąd deklaracji

0

Próbuję skompilować aplikację (szczególnie TVHeadend), która używa gcc i otrzymuję ten błąd:

src/main.c: In function 'main':
src/main.c: error: implicit declaration of function 'COMP_zlib_cleanup'

Jak dekodować z tej wiadomości, gdzie muszę szukać naprawy?

Myślałem, że to z powodu zaginięcia zlib1g-dev , ale tam jest. I mogę skonfigurować program, aby unikał używania zlib i nadal nie działa.

Próbuję zbudować na maszynie wirtualnej z Debianem, który używa starej wersji gcc (v4.3.2) i nie mogę go uaktualnić; w najnowszym Ubuntu te same pliki są poprawnie kompilowane bez żadnego błędu lub ostrzeżenia. Czy przyczyną może być stara wersja gcc? A jeśli tak, to dlaczego?

Bardziej interesuje mnie ogólna odpowiedź na temat tego, jaki jest właściwy sposób na rozwiązanie i naprawienie ogólnych Deklaracja niejawna błędy.

virtualdj
źródło
Brzmi bardzo prawdopodobne, że kompilowany kod jest nowszy niż kompilator. Czy próbowałeś skompilować wersję aplikacji, która poprzedza kompilator?
digitxp
Oczywiście, że tak, ale nie po raz pierwszy kompilowałem tę wersję i działała za każdym razem. Być może dodali nowe rzeczy lub mogą pojawić się błędy w źródle, dlatego pytam, gdzie mogę dalej zbadać, aby uniknąć błędów.
virtualdj