Arquivo MMP
Dados do artigo
Artigo
Uma arquivo de definição de projeto .mmp especifica as propriedades de um projetom para uma plataforma e um compilador de maneira independente. A ferramenta makmake converte arquivos de definição de projeto em Makefiles de uma plataforma específica. A ferramenta abld.bat encapsula chamadas a makmake, e pode ser mais conveniente de usar que o makmake.
Uma definição de projeto tem a extensão .mmp.
Note que:
- Cada declaração ocupa uma única linha.
- A sintaxe de C++ é usada para comentários.
- Uma contra-barra ('\') no final da linha é usada para indicar continuação de linha. Além disso, diretórios são especificados sem a contra-barra do final, por exemplo: excreva SYSTEMINCLUDE \epoc32\include, em vez de SYSTEMINCLUDE \epoc32\include\
Exemplo de projeto
TARGETTYPE
A partir da versão v9.0, uma aplicação GUI é um .exe. Isto está especificado pela declaração targettype:
TARGETTYPE exe
A extensão alvo pode ser .app ou .exe. Isto é especificado usando a declaração target:
TARGET <appname>.exe
UID
O UID da aplicação é especificada pela declaração uid:
UID 0x100039CE <UID3>
O valor do UID2 0x100039CE deve ser usado para todas as aplicações>. O valor da UID3 é um identificador único para uma aplicação em particular.
Tamanho da pilha
Por padrão, processos possuem uma pilha de 8K. Este tamanho pode ser insuficiente para alguma aplicações. Para aumentar o tamanho da pilha use a declaração epocstacksize:
// seta tamanho da pilha para 20K
epocstacksize 0x5000
Recursos da UI
O arquivo de recursos da UI é especificado com a declaração start resource:
START RESOURCE <appname>.RSS
HEADER
TARGETPATH \Resource\Apps
END
Os recursos devem ser compilados dentro do diretório \Resource\Apps. E isto é especificado usando a declaração TARGETPATH.
A linha do cabeçalho indica ao compilador para produzir um arquivo \epoc32\include\<appname>.rsg, que define constantes de macros através das quais programas C++ podem referenciar às estruturas de recursos.
Recursos de legenda/ícones
Uma aplicação pode especificar legendas e ícones localizáveis para serem exibidos usando o recurso LOCALISABLE_APP_INFO, tanto no arquivo de recursos da UI quanto em um arquivo de recursos separado.
Arquivo de registro
Especifique o arquivo de registro da aplicação usando outra declaração start resource:
START RESOURCE <appname>_reg.rss
TARGETPATH \private\10003a3f\apps
END
O arquivo de registro deve ser construído para o diretório privado \private\10003a3f\apps do sistema.
Observe que por razões de segurança um arquivo de registro não pode ser instalado diretamente neste diretório no dispositivo alvo. Quando da criação de um arquivo PKG (arquivo para instalação de software) para uma aplicação, o arquivo d e registro deve ser instalado no diretório \private\10003a3f\import\apps\.
Ícones
Um arquivo bitmap contendo ícones para a applicação pode ser especificado usado a declaração start bitmap:
START BITMAP <appname>.mbm
TARGETPATH \Resource\Apps
SOURCE <color-depth> <source-bitmap-list>
END
Arquivos de ícones, assim como o arquivo de recursos da UI, deve ser construído dentro do diretório \Resource\Apps.
Exemplo
Um exemplo de um projeto de aplicação GUI real é mostrado a seguir.
TARGET HelloWorld.exe
TARGETTYPE exe
UID 0x100039CE 0x10004299
VENDORID 0x70000001
epocstacksize 0x5000
SOURCEPATH .
SOURCE HelloWorld_Main.cpp
SOURCE HelloWorld_Application.cpp
SOURCE HelloWorld_Document.cpp
SOURCE HelloWorld_AppUi.cpp
SOURCE HelloWorld_AppView.cpp
USERINCLUDE .
SYSTEMINCLUDE \epoc32\include
START RESOURCE HelloWorld.RSS
HEADER
TARGETPATH \Resource\Apps
end
START RESOURCE HelloWorld_reg.rss
TARGETPATH \private\10003a3f\apps
END
START BITMAP HelloWorld.mbm
TARGETPATH \Resource\Apps
SOURCE c8,1 icon24.bmp icon2m.bmp icon32.bmp icon3m.bmp
icon48.bmp icon4m.bmp
END
LIBRARY euser.lib apparc.lib cone.lib eikcore.lib


(no comments yet)