Wie verwenden Sie BOOST_PP mit Klirren-cl.exe ohne Fehler

stimmen
0

Ich habe ein Problem mit Boost-1.69, Klirren 8.0 und Klirren-cl.exe, die einige BOOST_PP Makros von der Arbeit verhindert. Aus Gründen verstehe ich noch nicht, wird der gleiche Code in x86_64 Arbeits baut aber nicht in n x86 baut. Der einzige Unterschied zwischen den beiden ist:

clang-cl.exe /Oy- /D _X86_ /arch:IA32 -m32  // For x86 builds
clang-cl.exe /D _AMD64_                     // For x86_64 builds

Der Fehler Ich erhalte ist:

too few arguments provided to function-like macro

Die Fehler ergibt sich aus meiner Nutzung von BOOST_PP_SEQ_FOLD_LEFT und Makrostapel zeigt der Fehler ist BOOST_PP_SEQ_ELEM_III .

Wenn Sie seine zu diesem Makro Drill-down wie folgt definiert:

#define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im)
#define BOOST_PP_SEQ_ELEM_III(x, _) x

Klirren-cl scheint die _ als fehlende Parameter zu behandeln, die richtig scheint, aber diese Technik verwendet wird überall so gehe ich davon aus seinem etwas nicht unterstützten Erweiterung.

Wer weiß, was los ist und wie dieses Problem beheben?

Veröffentlicht am 13/01/2020 um 23:48
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more