C++-Codebasis wird nach dem Upgrade auf Linux Mint 19 nicht kompiliert und kann STL- und Boost-Funktionen nicht auflösen

C++-Codebasis wird nach dem Upgrade auf Linux Mint 19 nicht kompiliert und kann STL- und Boost-Funktionen nicht auflösen

In letzter Zeit verwende ich Mint 19.

Wir haben eine C++-Codebasis, die ich mit cmake, make und daher g++ (Version 7.4) und gcc (v 7.4) kompiliere.

Unter Mint 18 wird das gesamte Projekt kompiliert. Unter Mint 19 werden die meisten Dateien wie gewohnt übersetzt, einige jedoch nicht.

Mir scheint, dass einige Includes nicht aufgelöst werden, zum Beispiel

error: ‘fillPoly’ is not a member of ‘cv’
error: ‘boost::optional’ has not been declared

Ich habe bereits versucht, mit zu kompilieren -std=gnu++0x. Ich habe Build-Essentials installiert libopencv-dev.

Normalerweise würde ich vermuten, dass Header-Dateien fehlen, aber das Projekt wird unter Mint 18 kompiliert.

Einige dieser Fehlermeldungen kann ich beheben, indem ich z. B. „Boost optional“ einbinde.

Meine Frage ist: Was verursacht dieses Verhalten? Warum wird die Codebasis mit einer älteren Toolchain kompiliert?

Alle Vorschläge sind sehr willkommen.

verwandte Informationen