pygccxml icon indicating copy to clipboard operation
pygccxml copied to clipboard

c++ standard ignored in MSVC

Open ChristosT opened this issue 10 months ago • 0 comments

It looks like the c++ standard is ignored if provided via the cflags when using MSVC

The example below fails in MSVC but success with gcc (10.5):

from pygccxml import parser
from pygccxml import utils

generator_path, generator_name = utils.find_xml_generator()

print(f"f{generator_path=}")
print(f"f{generator_name=}")
header="""
#include <variant>
std::variant<int, double, float> value;
"""

config = parser.xml_generator_configuration_t(
        xml_generator_path=generator_path,
        xml_generator=generator_name,
        cflags="-std=c++17",

)
parsed_declarations = parser.parse_string(
	header,
        config,
 )

Error:

C:\Users\User\AppData\Local\Temp\tmp9050xy28.h:3:6: error: no template named 'variant' in namespace 'std'
std::variant<int, double, float> value;
~~~~~^
1 error generated.

Using

castxml            0.4.5
pygccxml           2.5.0

and MSVC 19.39.33522

ChristosT avatar Apr 15 '24 19:04 ChristosT