Introdução básica e prática do Cyber RT_Hello Apollo

Entre no ambiente experimental da nuvem

Insira a descrição da imagem aqui
<1> Crie o diretório do projeto experimental para esta seção. Após a criação, o diretório do projeto terá a seguinte aparência:
cyber_demo
|-- cyber_01
|-- demo_main
| |-- BUILD
| |-- main.cc
|–BUILD
|–cyberfile .xml
| –cyber_demo.BUILD
Insira a descrição da imagem aqui

Modular

<2> Gravar arquivos BUILD e cyberfile.xml relacionados ao gerenciamento de pacotes Apollo
.

load("//tools/install:install.bzl", "install", "install_src_files")

install(
    name = "install",
    data = [
        "cyber_demo.BUILD",
        "cyberfile.xml",
    ],
    deps = [
        "//cyber_demo/cyber_01/demo_main:install",
    ],
)

install_src_files(
    name = "install_src",
    src_dir = ["."],
    dest = "cyber_demo/src",
    filter = "*",
    deps = [
        "//cyber_demo/cyber_01/demo_main:install_src",
    ]
)

A regra de instalação pode instalar o destino definido no arquivo BUILD do módulo no warehouse local;
a regra install_src instala diretamente o arquivo no warehouse local de acordo com regras específicas e mantém a estrutura de diretório do código-fonte;
cyberfile.xml é um arquivo de descrição do módulo, usado para descrever um módulo transformado em informações relacionadas ao pacote de software, como nome do pacote, número da versão e pacotes de software dependentes. O conteúdo de cyberfile.xml neste exemplo é o seguinte:

arquivo cibernético.xml

<package>
  <name>cyber_demo</name>
  <version>1.0.0</version>
  <description>
   cyber_demo
  </description>
  <maintainer email="AD-platform">AD-platform@baidu.com</maintainer>
  <type>module</type>
  <src_path>//cyber_demo</src_path>
  <license>BSD</license>
  <author>Apollo</author>
  <depend type="binary"  repo_name="cyber">cyber-dev</depend>
  <builder>bazel</builder>
</package>

Empacotado dentro do módulo

<3> Escreva arquivos fonte e arquivos BUILD;
produza o conteúdo "hello Apollo" através de main.cc.

principal.cc

#include<cyber/cyber.h>

int main(int argc, char const *argv[])
{
    
    
    apollo::cyber::Init(argv[0]);
    AINFO << "hello Apollo";
    AWARN << "hello Apollo";
    AERROR << "hello Apollo";
    AFATAL << "hello Apollo";
    return 0;
}

Depois de escrever o arquivo de origem main.cc, você pode construir o arquivo de origem main.cc em um arquivo binário executável independente instanciando a regra cc_binary integrada do Bazel. O conteúdo do arquivo BUILD é o seguinte:
BUILD

load("//tools/install:install.bzl", "install", "install_src_files")

install(
    name = "install",
    data = [
        "cyber_demo.BUILD",
        "cyberfile.xml",
    ],
    deps = [
        "//cyber_demo/cyber_01/demo_main:install",
    ],
)

install_src_files(
    name = "install_src",
    src_dir = ["."],
    dest = "cyber_demo/src",
    filter = "*",
    deps = [
        "//cyber_demo/cyber_01/demo_main:install_src",
    ]
)

<4> Diretório de código de compilação
Execute as instruções de compilação do buildtool no diretório apollo_workspace

Após a compilação do buildtool build -p cyber_demo
, o sistema irá gerar o arquivo executável main no diretório /opt/apollo/neo/bin, conforme mostrado na figura abaixo: Para poder
Insira a descrição da imagem aqui
ver os resultados, use o seguinte comando para imprimir os resultados de saída na janela, comando Como segue:
export GLOG_alsologtostderr=1
<5> Execute o arquivo executável.
No diretório /opt/apollo/neo/bin, execute o seguinte comando:
./main
Após a conclusão da execução , você pode ver que a janela da linha de comando imprime o conteúdo “olá Apollo”.

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/qq_42817360/article/details/132726407
Recomendado
Clasificación