GNU/Linux >> Tutoriales Linux >  >> Linux

Compilación de C++ en Windows y Linux:cambio ifdef

Sé que no es una respuesta, pero se agregó si alguien se ve igual en Qt

En Qt

https://wiki.qt.io/Get-OS-name-in-Qt

QString Get::osName()
{
#if defined(Q_OS_ANDROID)
    return QLatin1String("android");
#elif defined(Q_OS_BLACKBERRY)
    return QLatin1String("blackberry");
#elif defined(Q_OS_IOS)
    return QLatin1String("ios");
#elif defined(Q_OS_MAC)
    return QLatin1String("osx");
#elif defined(Q_OS_WINCE)
    return QLatin1String("wince");
#elif defined(Q_OS_WIN)
    return QLatin1String("windows");
#elif defined(Q_OS_LINUX)
    return QLatin1String("linux");
#elif defined(Q_OS_UNIX)
    return QLatin1String("unix");
#else
    return QLatin1String("unknown");
#endif
}

Depende del compilador usado.

Por ejemplo, la definición de Windows puede ser WIN32 o _WIN32 .

Y la definición de Linux puede ser UNIX o __unix__ o LINUX o __linux__ .


Puedes hacer:

#if MACRO0
    //code...
#elif MACRO1
    //code...
#endif

…donde el identificador puede ser:

    __linux__       Defined on Linux
    __sun           Defined on Solaris
    __FreeBSD__     Defined on FreeBSD
    __NetBSD__      Defined on NetBSD
    __OpenBSD__     Defined on OpenBSD
    __APPLE__       Defined on Mac OS X
    __hpux          Defined on HP-UX
    __osf__         Defined on Tru64 UNIX (formerly DEC OSF1)
    __sgi           Defined on Irix
    _AIX            Defined on AIX
    _WIN32          Defined on Windows

usar:

#ifdef __linux__ 
    //linux code goes here
#elif _WIN32
    // windows code goes here
#else

#endif

Linux
  1. Cómo acceder a los sistemas de archivos de Linux en Windows 10 y WSL 2

  2. Interoperabilidad de Windows y Linux:una mirada a Samba

  3. Cómo iniciar dualmente Windows 10 y MX Linux

  4. Agente Nova (Linux) y Agente Rackspace (Windows)

  5. Kali Linux 1.0.5 y radio definida por software

Cómo arrancar dualmente Kali Linux y Windows 10

Cómo hacer un servidor TeamSpeak en Linux, Windows y macOS

Cómo hacer un USB de arranque múltiple en Linux y Windows

Cambiar de Windows a Linux

Cómo compilar y ejecutar programas C, C++ en Linux

Compartir archivos entre Linux Mint y Windows 10