Как совместить Python и C ++ 17 на MacOS - PullRequest
0 голосов
/ 03 декабря 2018

В настоящее время я работаю над проектом, который объединяет C ++ и python в macOS, поэтому в какой-то момент мой код включает системный заголовок python:

#include <Python.h>

Я хотел бы перейти на C ++ 17, но один из заголовков (unicodeobject.h), включенный Python.h, все еще использует ключевое слово register, которое было удалено в C ++ 17 после того, как устарело в C ++ 11.

Есть ли какие-либо предложенияесли и как я могу перейти на C ++ 17 в этом случае?

1 Ответ

0 голосов
/ 03 декабря 2018

Возможно, вы сможете использовать

#define register

перед тем, как включить <Python.h>, чтобы определить макрос register для расширения до нуля.Кроме того, вы можете использовать параметр командной строки -Dregister=.

Строго говоря, современные версии стандарта C ++ делают недопустимым использование препроцессора для определения значения стандартного ключевого слова по-разному, но ваш компилятор может принятьэто все равно (или самое большее, дать предупреждение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...