Hoe ga je BOOST_PP gebruiken clang-cl.exe zonder fouten

stemmen
0

Ik heb een probleem met Boost 1,69, Clang 8.0 en clang-cl.exe dat wordt voorkomen dat sommige BOOST_PP macro's uit te werken. Om redenen die ik niet nog begrijpen, dezelfde code werkt in x86_64 bouwt, maar niet in n x86 bouwt. Het enige verschil tussen beide is:

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

De fout die ik krijg is:

too few arguments provided to function-like macro

De fout vloeit voort uit mijn gebruik van BOOST_PP_SEQ_FOLD_LEFT en de macro stack geeft aan dat de fout is met BOOST_PP_SEQ_ELEM_III .

Als u inzoomen op deze macro zijn als volgt gedefinieerd:

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

clang-cl lijkt het behandelen _ als een ontbrekende parameter, die juist lijkt, maar deze techniek wordt overal gebruikt ik neem het aantal ondersteunde extensie.

Weet iemand wat er aan de hand en hoe dit op te lossen?

De vraag is gesteld op 13/01/2020 om 23:48
bron van user
In andere talen...                            

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