1. Baixe o código-fonte libcoap
https://github.com/obgm/libcoap/tree/release-4.2.0
2. Etapas de instalação
./autogen.sh
mkdir Linux
./configure --prefix = $ (pwd) / ISVP_lib --disable-dtls
Haverá os seguintes problemas ao realizar as operações acima:
verificando o ponto ... no
configure: AVISO: ==> ponto não encontrado - continuando sem suporte DOT
configure: AVISO: ==> A documentação html libcoap será construída sem gráficos DOT!
verificando a2x ... sem
configurar: AVISO: ==> Você deseja construir as páginas de manual, mas a2x não foi encontrado!
configure: error: ==> Instale o pacote que contém a2x (principalmente asciidoc) ou desabilite a compilação das manpages usando '--disable-manpages'.
Solução:
./configure --prefix = $ (pwd) / Linux --disable-manpages --disable-dtls
Execute após nenhum erro
make && make install
Os arquivos de cabeçalho e arquivos de biblioteca gerados serão armazenados no diretório Linux do caminho atual
Então, obtemos as seguintes informações de versão:
3. O significado dos parâmetros de compilação
Execute ./configure -help
`configure 'configura o libcoap 4.2.0 para se adaptar a muitos tipos de sistemas.
Uso: ./configure [OPTION] ... [VAR = VALUE] ...
Para atribuir variáveis de ambiente (por exemplo, CC, CFLAGS ...), especifique-as como
VAR = VALUE. Veja abaixo as descrições de algumas das variáveis úteis.Os padrões das opções são especificados entre colchetes.
Configuração:
-h, --help exibe esta ajuda e sai
--help = opções de exibição curtas específicas para este pacote
--help = recursivo exibe a ajuda curta de todos os pacotes incluídos
-V, --version exibe informações de versão e sai
- q, --quiet, --silent não imprime mensagens de `verificação ... '
--cache-file = FILE cache test resulta em FILE [desabilitado]
-C, --config-cache alias para` --cache-file = config.cache '
-n, --no-create não cria arquivos de saída
--srcdir = DIR encontra as fontes em DIR [configurar dir ou `..']Diretórios de instalação:
--prefix = PREFIX instala arquivos independentes de arquitetura em PREFIX
[/ usr / local]
--exec-prefix = EPREFIX instala arquivos dependentes de arquitetura em EPREFIX
[PREFIX]Por padrão, `make install 'instalará todos os arquivos
em` / usr / local / bin', `/ usr / local / lib 'etc. Você pode especificar
um prefixo de instalação diferente de` / usr / local' usando `- prefix ',
por exemplo `--prefix = $ HOME'.Para melhor controle, use as opções abaixo.
Ajuste fino dos diretórios de instalação:
--bindir = executáveis do usuário DIR [EPREFIX / bin]
--sbindir = executáveis do administrador do sistema DIR [EPREFIX / sbin]
--libexecdir = executáveis do programa DIR [EPREFIX / libexec]
--sysconfdir = leitura DIR -apenas dados de máquina única [PREFIX / etc]
--sharedstatedir = Dados independentes de arquitetura modificáveis DIR [PREFIX / com]
--localstatedir = Dados de máquina única modificáveis DIR [PREFIX / var]
--libdir = Bibliotecas de código de objeto DIR [ EPREFIX / lib]
--includedir = Arquivos de cabeçalho DIR C [PREFIX / incluir]
--oldincludedir = Arquivos de cabeçalho DIR C para não-gcc [/ usr / include]
--datarootdir = Raiz de dados independente de arquivo DIR somente leitura [ PREFIX / compartilhar]
--datadir = Dados independentes de arquitetura DIR somente leitura [DATAROOTDIR]
--infodir = Documentação de informação DIR [DATAROOTDIR / info]
--localedir = Dados dependentes de localidade DIR [DATAROOTDIR / locale]
--mandir = Documentação DIR man [DATAROOTDIR / man]
--docdir = DIR documentação raiz [DATAROOTDIR / doc / libcoap]
--htmldir = DIR html documentação [DOCDIR]
--dvidir = DIR dvi documentação [DOCDIR]
--pdfdir = DIR pdf documentação [DOCDIR]
--psdir = Documentação DIR ps [DOCDIR]Nomes de programas:
--program-prefix = PREFIX prefixar PREFIX para nomes de programas instalados
--program-suffix = SUFFIX acrescentar SUFFIX para nomes de programas instalados
--program-transform-name = PROGRAM executado sed PROGRAM em nomes de programas instaladosTipos de sistema:
--build = BUILD configurar para construir em BUILD [adivinhado]
--host = HOST compilação cruzada para construir programas para rodar em HOST [BUILD]Recursos opcionais:
--disable-option-checking ignorar não reconhecido --enable / - com opções
--disable-FEATURE não inclui FEATURE (o mesmo que --enable-FEATURE = no)
--enable-FEATURE [= ARG] inclui RECURSO [ARG = yes]
--enable-silent-rules saída de compilação menos detalhada (desfazer: "make V = 1")
--disable-silent-rules saída de compilação detalhada (desfazer: "make V = 0")
--enable -dependency-tracking
não rejeita extratores de dependência lentos
--disable-dependency-tracking
acelera a compilação única
--enable-shared [= PKGS] compilar bibliotecas compartilhadas [default = yes]
--enable-static [= PKGS] build bibliotecas estáticas [padrão = sim]
--enable-fast-install [= PKGS]
otimizar para instalação rápida [default = yes]
--disable-libtool-lock evita travamento (pode quebrar compilações paralelas)
--enable-documentation Habilita a compilação de toda a documentação [default = yes]
--enable-doxygen Habilita a construção da documentação do doxygen
[default = yes]
--enable-manpages Habilita a construção das manpages [default = yes]
--enable-dtls Habilita a construção com suporte DTLS [default = yes]
--enable-tests Enable construir o conjunto de testes binário [default = no]
--enable-examples Habilita a construção dos binários de exemplo [default = yes]
--enable-gcov Habilitar construção com suporte de cobertura de teste gcov
[default = no]Pacotes opcionais:
--with-PACKAGE [= ARG] use PACKAGE [ARG = yes]
--without-PACKAGE não use PACKAGE (o mesmo que --with-PACKAGE = no)
--with-pic [= PKGS] tente use apenas objetos PIC / não-PIC [padrão = use
ambos]
--with-gnu-ld assume que o compilador C usa GNU ld [default = no]
--with-sysroot = DIR Procura por bibliotecas dependentes dentro de DIR
(ou do compilador sysroot se não for especificado).
--with-gnutls Use GnuTLS para funções DTLS
--with-openssl Use OpenSSL para funções DTLS
--with-tinydtls Use TinyDTLS para funções DTLSAlgumas variáveis de ambiente influentes:
Caminho PKG_CONFIG para o utilitário pkg-config diretórios
PKG_CONFIG_PATH
para adicionar ao caminho de pesquisa do pkg-config
PKG_CONFIG_LIBDIR
caminho sobrescrevendo o caminho de pesquisa embutido do pkg-config
Comando do compilador CC
CFLAGS Sinalizadores do compilador C
LDFLAGS sinalizadores de linker, por exemplo, -L <lib dir> se você tiver bibliotecas em um
diretório não padrão <lib dir>
bibliotecas LIBS para passar para o vinculador, por exemplo, -l <biblioteca>
CPPFLAGS (objetivo) sinalizadores de pré-processador C / C ++, por exemplo -I <incluir dir> se
você tiver cabeçalhos em um diretório não padrão <incluir dir>
Pré-processador CPP C
Comando A2X a2x GnuTLS_CFLAGS
Sinalizadores de
compilador C para GnuTLS, substituindo
sinalizadores de vinculador pkg-config GnuTLS_LIBS para GnuTLS, substituindo sinalizadores de compilador pkg-config
OpenSSL_CFLAGS
C para OpenSSL, substituindo sinalizadores de compilador pkg-config
OpenSSL_LIBS
para OpenSSL_LIBS linker C para
OpenSSLAGL
CUNIT, sobrescrevendo
sinalizadores de linker pkg-config CUNIT_LIBS para CUNIT, sobrescrevendo pkg-config
CTAGS_PROG o programa 'exctags' a ser usado para make target 'update-map-file'Use essas variáveis para sobrescrever as escolhas feitas por `configure 'ou para ajudá-
lo a encontrar bibliotecas e programas com nomes / localizações não padronizados.
4. Depurar e usar
Abra o servidor
cd examples/
./coap-server
Neste momento, você pode Copper
abrir o endereço do servidor no FireFox com o plug- in instalado . Observação: a ferramenta de depuração CoAP Copper é um plug-in do Firefox. A versão mais recente do Firefox que este plug-in pode suportar é 52.0, que não é compatível com a nova versão do Firefox, pode ser usado no Chrome Instale o plug-in de cobre no navegador;
Para o Copper
processo de instalação do plug-in, consulte "CoAP Client Copper Plug-in (3)"