Mam moduł, który musi być skompilowany z C++ 11. W GCC i Clang oznacza to przełącznik std=c++11
lub std=c++0x
na starszych kompilatorach.Jak określić C++ 11 za pomocą distutils?
Python nie jest skompilowany z tym przełącznikiem, więc Distutils nie uwzględnia go podczas kompilowania modułów.
Jaki jest preferowany sposób kompilowania kodu C++ 11 za pomocą distutils?
Uważałem, że cały punkt distutils polega na unikaniu "całkowitej zależności od platformy". Odkąd rozprowadzam bibliotekę, która musi być kompilowana lokalnie na komputerze użytkownika końcowego, naprawdę potrzebuję czegoś niezależnego od platformy. – Adam
@Adam To jest częścią punktu 'distutils', ale gdy już skompiluje kod, staje się to skomplikowane, więc daje ci te uchwyty do robienia specyficznych dla platformy rzeczy. Możesz zrobić sprytne rzeczy w swoim 'setup.py', aby wybrać właściwe dla danej platformy rzeczy dla zestawu popularnych platform. Ale nie ma uniwersalnego sposobu określania C++ 11 i istnieje wiele maszyn, które nie mają jeszcze kompilatorów, które go obsługują. – juanchopanza
czy możesz wskazać mi, co pociągnęłoby za sobą "sprytne rzeczy"? – Adam