GCC e Visual C++

Iniciado por efraim, 05 de Novembro de 2005, 12:09

tópico anterior - próximo tópico

efraim

Necessito desenvolver um software multiplataforma, já me decidi por C++ e Qt, porém estou com uma dúvida sobre que ambiente (compilador, IDE ou não, etc) usar no Windows. A princípio não pensava no Visual C++, nunca trabalhei com uma ferramenta de desenvolvimento da Microsoft, porém nas últimas semanas tenho considerado esta possibilidade, pretendo usar um framework ou biblioteca (sinceramente, não consigo diferenciar um do outro) pra fazer a comunicação entre os aplicativos clientes e servidores e o único compilador homologado pro Windows é o Visual C++, como não sou tão experiente em C++, acredito que este é o caminho mais seguro: usar as ferramentas da GNU no Linux e o Visual C++ no Windows. O que vocês podem dizer a respeito? Outra dúvida, será muito trabalhoso organizar os make's e afins pra trabalhar simultaneamente nos dois ambientes? Na realidade pretendo fazer o desenvolvimento todo no Linux e apenas compilar e testar no Windows, e claro, fazer um ajuste aqui, outro ali, porque não me iludo com coisas totalmente portáveis. Última pergunta, o Visual C++ tem algum compilador que possa ser usado em linha de comando ou tem que ser tudo visual?

Obrigado!

Janus

Olha, efraim, pelo que sei o uso de bibliotecas Qt no seu programa vai realmente complicar bastante a coisa. Acredito que a única solução será refazer os aplicativos no Visual C++ utilizando os mesmos módulos (que podem sofrer alterações também, em alguns casos).
Por que não experimenta usar GTK+? O novo GTK+ têm um bom suporte para compilar programas para windows, daí o fato de termos Gaim e Gimp para windows. :)

cristo&oxalá

só por curiosidade... se vc tem que desenvolver um software multiplataforma pq não optou por Java?

efraim

Porque Java é pesado.
Porque Java é interpretado.
Porque não quero cuidar de máquinas virtuais de meus clientes.
Porque não quero que meus clientes tenham que jogar fora as máquinas que já possuem pra rodar um software em Java.
Porque preciso de agilidade e Java não me oferece isto.

...

cristo&oxalá

Citação de: "efraim"Porque Java é pesado.
Porque Java é interpretado.
Porque não quero cuidar de máquinas virtuais de meus clientes.
Porque não quero que meus clientes tenham que jogar fora as máquinas que já possuem pra rodar um software em Java.
Porque preciso de agilidade e Java não me oferece isto.

...

ok.... perguntei só por curiosidade, eu programo em C++ também, nem programo em java direito.
achei que a portabilidade fosse o único requisito importante, mas pelo que tu falou existem vários outros.

efraim

Trabalha com C++ em que ambiente?

cristo&oxalá

Citação de: "efraim"Trabalha com C++ em que ambiente?

trabalhava em DOS e Unix, mas faz tempo que não trabalho com C++
fiz alguma coisinha em windows 32 Bits, mas na época do windows 95 ainda.

cristo&oxalá

a propósito, mais uma curiosidade: o que é que vc irá desenvolver?

efraim

Um software para automação de lojas de varejo.

murtog

efraim,

- O toolkit escolhido foi bom: Qt. Porém para que você não tenha que pagar para usá-lo, seu software deve ser livre. Para uso comercial o toolki é pago, e caro, diga-se de passagem.

- C++ é uma linguagem boa, não discuto. Mas nesses casos você poderia usar linguagens dinâmicas ( Python, Ruby, Lua ) para criar o programa. Java é muito pesada, essas linguagens são bem menos. Python -- essa eu posso afirmar, pois conheço melhor -- é bastante leve.

- Sim, manter makes para ambas plataformas é meio complicado, sim. Mas acredito que haja alguma facilitador que eu não conheça, muito tempo que não mexo com C e suas variações.

- Não se prenda apenas ao Visual C++, você pode usar o Dev-C++ que é open e usa o compilador MinGW, que é um port do GCC para Windows.

efraim

murtog, obrigado pela resposta.

Apesar de conhecer só um pouco de Python e nada de Ruby e Lua sei que são ótimas linguagens, mas não considero-as adequadas para o tipo de aplicação que necessito desenvolver.

Citar- Não se prenda apenas ao Visual C++, você pode usar o Dev-C++ que é open e usa o compilador MinGW, que é um port do GCC para Windows.

Não estou me prendendo ao Visual C++, na realidade nem pretendia usá-lo, porém uma biblioteca que acredito que necessito usar só é homolada pra o dito cujo e pelo que vi nos foruns o uso de outra compilador no Windows poderia me dar problemas.

Talvez você ou alguém possa me dar uma luz melhor neste aspecto, apesar de já contar o tempo que trabalho com software em decadas, minha experiência com software em camadas é mínima, e necessito fazê-lo em 3 camadas. E não sei o que usar para fazer a comunicação entre as aplicações. Esta biblioteca que citei é alguma coisa similar ao CORBA. Meu conhecimento nesta área é mínimo e é aí que está o calcanhar de aquiles, se houver como resolver isto de outra forma poderia tranquilamente trabalhar com MinGW.

Obrigado!

FaBMak

Sinceramente não consigo ver como um código pode ser "portável" usando bibliotecas específicas para Windows. Esta é um tremenda armadilha.

FaBMak
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

efraim

Caso se desse ao trabalho de ler o tópico inicial não faria este comentário, lá eu digo que "o único compilador homologado pro Windows é o Visual C++", no Linux usa-se GCC.

cristo&oxalá

Citação de: "efraim"Caso se desse ao trabalho de ler o tópico inicial não faria este comentário, lá eu digo que "o único compilador homologado pro Windows é o Visual C++", no Linux usa-se GCC.

é que ele não seguiu a própria assinatura aeheauaehUEAHEU

zoeiras a parte, acho válido esses questionamentos, o que pode parecer óbvio para alguns não o é para outros. Em informática existem diversas soluções para o mesmo problema, preterir uma ou outra não quer dizer que elas também não funcionariam. Tudo depende dos "pesos" dados a cada requisito do sistema.

Canellas

Uma alternativa ao Qt, q vc vai ter q pagar p/ uso comercial, é a 'wxWindows' (http://www.wxwindows.org/), q tem bastante tempo de estrada, então já foi bastante depurada; e a 'fltk' (www.fltk.org), q é muito pequena, leve e rápida, mas a qtde de widgets prontos não é muito grande.

Uma pergunta: seu projeto é open?

Boa sorte!!