Ir para conteúdo
Fórum Script Brasil
  • 0

Desenvolver em C++ no Linux para o Windows


RHER

Pergunta

É possível criar um programa compilado no g++ (de preferência versões mais novas) destinado a rodar no Windows sem a necessidade de simuladores do Linux como MinGW e Cygwin? Eu queria desenvolver programas com o g++, meu compilador favorito, mas para servir a usuários comuns do Windows (XP/7) sem a necessidade de preocupações com dll e outras coisas. Alguém sabe como posso fazer isso se for realmente possível?

Comentando um pouco mais, parece que o pessoal da GNU que fez o g++ trabalha muito mais por um compilador potente em otimização. O pessoal que criou o ambiente de programação no windows só quer dinheiro, não qualidade, sendo assim um trabalho inferior. Portanto, não gosto do Visual Studio. O problema é que se o pessoal da GNU não chegou a fazer algo que permita criar programas para windows, terei que me virar com o VS pra fazer programas para WinXP e Win7.

Se alguém puder me ajudar, agradeço.

Valeu!!! Falou!!!

Editado por RHER
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
É possível criar um programa compilado no g++ (de preferência versões mais novas) destinado a rodar no Windows sem a necessidade de simuladores do Linux como MinGW e Cygwin? Eu queria desenvolver programas com o g++, meu compilador favorito, mas para servir a usuários comuns do Windows (XP/7) sem a necessidade de preocupações com dll e outras coisas. Alguém sabe como posso fazer isso se for realmente possível?

Comentando um pouco mais, parece que o pessoal da GNU que fez o g++ trabalha muito mais por um compilador potente em otimização. O pessoal que criou o ambiente de programação no windows só quer dinheiro, não qualidade, sendo assim um trabalho inferior. Portanto, não gosto do Visual Studio. O problema é que se o pessoal da GNU não chegou a fazer algo que permita criar programas para windows, terei que me virar com o VS pra fazer programas para WinXP e Win7.

Se alguém puder me ajudar, agradeço.

Valeu!!! Falou!!!

Isso que tu está tentando é impossível.

Não tem como o linux gerar um arquivo binário para windows. O wine talvez consiga.

O MinGW é o compilador g++ para windows. A única diferença é que ele gera o executável e as dll's de windows mas o compilador possui e mesma qualidade do g++.

Tu pode desenvolver em linux e depois apenas compilar no windows. Só que tu precisa cuidar as funções de cada sistema operacional.

Recentemente eu fiz uns testes sobre trechos de código para cada sistema operacional no mesmo código.

Aqui está o exemplo que eu fiz. Espero que ajude.

#include <stdio.h>
#ifdef _WIN32 || _WIN64
   #include <conio.h>

//Lembrei que não existe getch no linux
#elif defined __linux__ || __APPLE__
    //includes para a getch no linux
    #include <termios.h>
    #include <unistd.h>
    //Getch no linux
    int getch(void){
        struct termios velho, novo;
        int x;

        tcgetattr( STDIN_FILENO, &velho );
        novo= velho;
        novo.c_lflag &= ~( ICANON | ECHO );
        tcsetattr( STDIN_FILENO, TCSANOW, &novo );
        x= getchar();
        tcsetattr( STDIN_FILENO, TCSANOW, &velho );
        return x;
        }
#else
//#Plataforma não suportada
#endif

int main(){
    printf("Program ");
    //windows 32
    #ifdef _WIN32
        printf(" windows 32");
        #ifdef __GNUC__
            printf(" minGW");
        #endif
        #ifdef _MSC_VER
            printf(" VisualC");
        #endif
    #endif

    //windows 64
    #ifdef _WIN64
        printf(" windows 64");
        #ifdef __GNUC__
            printf(" minGW");
        #endif
        #ifdef _MSC_VER
            printf(" VisualC");
        #endif
    #endif

    //Linux
    #ifdef __linux__
        printf(" linux");
        #ifdef __GNUC__
            printf(" GCC");
        #endif
    #endif

    //MacOS
    #ifdef __APPLE__
        printf(" MacOS");
        #ifdef __GNUC__
            printf(" GCC");
        #endif
    #endif

    getch();

    #ifdef __APPLE__
        printf("\n");
    #endif

    return 0;
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...