Я работаю в Visual Studio, но мой проект предназначен для среды на основе POSIX (marmalade sdk). В этом проекте релиз сборка скомпилирован с gcc для ARM, но версия отладки работает в Windows и компилируется MS-компилятором. Также эта среда имеет собственную реализацию STL и других стандартных библиотек.Как определить неопределенность _MSC_VER?
Многих из этих C++ librares имеет такой код:
#if defined(_MSC_VER)
#include <Windows.h>
#else
#include <pthread.h>
#endif
Можно ли указаный _MSC_VER макрос? - Чтобы библиотеки C++ обнаруживали систему POSIX здесь.
'_MSC_VER' определяется только при компиляции с компилятором Visual Studio C++. Если вы используете какой-либо другой компилятор, он не будет определен. –
Да, он компилируется с помощью компилятора Visual Studio C++, но не использует никаких оконных библиотек, таких как Windows.h - это не так. Мой вопрос о том, как рассказать компилятору, что не является стандартной средой Windows. – strobe
вам может быть лучше, если использовать конструкцию, основанную на построении, например '_WIN32',' _MSC_VER', скорее всего, будет невозможно определить, поскольку его встроенный компилятор – Necrolis