Multi-Alvo Visual Estúdio Projeto: código-fonte de um
-
22-08-2019 - |
Pergunta
Todas as sugestões sobre como se poderia ir sobre a criação de um sistema de construção que compile uma ou duas bibliotecas contra um par de diferentes plataformas / alvos.
O projeto principal é no Visual Studio.
Por exemplo, eu tenho uma biblioteca:
nav.lib
Ele compila em Windows e Linux com alguns ajustes.
O executável que usa a biblioteca, win_nav.lib apenas compila no Windows no momento com OpenGL.
Eu sou portando este código para o iPhone. Embora eu sei que não posso compilar e vincular a biblioteca inteira de janelas que eu gostaria de tentar compilar o código gráfica com OpenGL inclui e OpenGLES inclui. (Talvez eu possa testar meu código OpenGLES na máquina Windows também?)
Eu pretendo mudar meu arquivo de gráficos para incluir baseado em bandeiras de pré-processamento:
#ifdef USE_OPEN_GL_FULL
#include <opengl/gl.h>
#else
#include <opengles/gl.h>
#endif
Então, como você vai fazer sobre isso?
Usando um par de diferentes scripts ou diferentes projetos no Visual Studio?
Solução
Este é o "Configurações Solução" são para. Por padrão Visual Studio cria configurações de lançamento e de depuração, mas você pode adicionar suas próprias configurações personalizadas também. As opções de projeto são diferentes para cada configuração, então basta definir o seu #define na configuração que precisa dele.
Quando você estiver executando o seu compilação automatizada você apenas definir o parâmetro / build para o nome da configuração que deseja compilar com.
Outras dicas
Dentro VS você pode usar o Configuration Manager para atingir diferentes constrói e usar distintas bibliotecas dentro de seu código.