Jump to content

Recommended Posts

Posted

Boas,

Gostaria de saber que passos devia ter em conta para portar uma aplicação programada para Windows em C++, para Linux? Mais especificamente, .deb distros. Espero que me tenha feito entender.

Cumps

Posted

.deb é apenas o formato do pacote de instalação de um conjunto de distribuições, só por si não implica nada no teu código. Terás de ter em conta o tipo de código C++ que escreves, que bibliotecas usas e que compiladores usas (estes podem afectar as bibliotecas).

Por exemplo, se fizeste o teu código usando o Visual Studio e estás a usar "managed C++", o normal se estiveres a programar para .Net, então é possível que tenhas problemas de portabilidade. Se estiveres a usar alguma biblioteca, classe ou função que só exista para MS Windows é vais ter problemas de portabilidade 🙂

Resumindo, os problemas de portabilidade surgem principalmente no código, não no facto de usares debs, rpms ou até exes para distribuição.

O primeiro passo seria compilar essa aplicação, ainda em MS Windows para facilitar, usando um compilador livre como o g++, se estiver a funcionar bem aí, e tendo em conta que não estás a usar nada específico de MS Windows, experimentar compilar numa máquina com GNU Linux. Se compilar e executar correctamente podes então começar a preparar o pacote de instalação.

Posted

Obrigado pela ajuda. Por acaso uso g++ o que já é uma vantagem. Quanto às bibliotecas, visto que o código não será meu e apenas tratarei da portabilidade, será o que eu vou ter mais em conta.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.