boostorg / boostorg/program_options

program_options.hpp fails when imported as a header unit (MSVC 2022).

Offen
#114 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
136
Forks
117
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The program fails to compile when trying to import `program_options.hpp` as a header unit in Visual Studio 2022 (C++20).

main.cpp
```
import ;

int main(int argc, char** argv)
{
namespace po = boost::program_options;
po::options_description desc;
desc.add_options()
("stringtest", po::value()->implicit_value("test"), "string test")
;

return 0;
}
```

You'll get the following error:
`Error - C3084 - 'boost::exception::~exception': a destructor cannot be 'abstract' - solution - E:\Projects\CPP\boost\boost\exception\exception.hpp - 297`

I haven't had any troubles with any other boost headers. This is the only one I've run into with this issue. This was tested with the latest master branch.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, die bereitgestellte main.cpp mit MSVC 2022 im C++20-Modus zu kompilieren und boost/program_options.hpp als Header Unit zu importieren. Untersuche boost/exception/exception.hpp ungefähr in Zeile 297 und vergleiche dabei den Fehler der Header Unit mit einem normalen Include. Als erledigt gilt die Aufgabe, wenn das Beispiel mit dem Header-Unit-Import erfolgreich kompiliert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.