Jump to content

dev botao

ACBrLib no linux com C++ cpp


billbarsch
Go to solution Solved by billbarsch,
  • Este tópico foi criado há 1748 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

olá, eu vi exemplos em C# no windows, java, etc

estou tentando acessar a ACBrLib no linux usando C++

consegui compilar o arquivo libacbrnfe64.so no ubuntu 18 com lazarus, tudo tranquilo

image.png.49d365850dfbe4ed493e0dc220edc0a2.png

o arquivo tem 15 mb, eu tentei me basear pelo c# mas não consegui avanço nenhum em C++

gostaria de conseguir executar pelo menos uma função basica tipo a NFE_Versao, só pra ver se está realmente conectando com a Dinamic Shared Library

mas não sei nem por onde começar...

ví exemplos simples na internet como este aqui, (eu mesmo criando um file.so meu de exemplo), executa e funciona normal:

image.png.c026bea3a974f9c465e2b466b3122f85.png

mas vocês teriam algum exemplo simples de acesso da lib do acbr em c++ pra linux mais ou menos nesse sentido?

desde já agradeço e parabenizo pelo incrivel trabalho ;-)

  • Like 1
Link to comment
Share on other sites

  • Administradores

Bom dia.

@Rafael Dias poderia dar uma dicas ao colega?

Att.

  • Like 2
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Fundadores

A ACBrLib é uma Biblioteca compartilhada como qualquer outra... ou seja... carregue ela, da mesma maneira que você carreguaria qualquer outra Biblioteca e C++

O fato de ser Linux não mudará muita coisa...

Creio que você conheça Linux e saiba onde copiar o arquivo .SO e quais permissões dar a ele... correto?

Se você não tem tanta experiência em Linux.. sugiro tentar primeiro no Windows... e depois  usar o mesmo código no Linux 

  • Like 4
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

no windows tentei com C# mas não está dando muito certo também,

no exemplo do C# está dando erro ao executar porque fala que nao acha uma dll (ACBrLib.Core.dll) sendo que a dll está lá

dai nao sei se essa ACBrLib.Core.dll é obrigatoria ou se foi criada só no exemplo do C# mesmo, e empacou o processo.

image.png.4cb68bd0ab9463a1c27a13fc3be66ec6.png

mas a dll está presente na pasta, só achei estranho o tamanho dela, muito pequena

image.png.7379b3699648a3c3764516a046e7b5db.png

(se tiver alguma informação que ajude nisso aqui tbm agradeço, ia criar outro post pra esse)


dai tentei ir de linux mesmo mas não achei exemplos basicos de como acessar as funções internas.

fiz bibliotecas .so de exemplo aqui, até concegui acessar, mas a do acbr ele nao executa a função, não sei se tem que colocar argumentos obrigatorios que nao estou colocando talvez.

na verdade estou bem perdido. pensei de ver com vc's se tinham exemplos em c++ disponiveis, ou talvez algum stackoverflow que recomendassem pra eu comessar os estudos disso.

desde ja agradeço a atenção.

Edited by billbarsch
Link to comment
Share on other sites

O erro no C# não tem nada haver com a ACBrLib.Core.dll , pela sua imagem fica claro que ele não esta achando a dll nativa e que o erro foi lançado na ACBrLib.Core.dll .

Infelizmente não temos exemplo em C++, para corrigir o erro no C# copie a dll nativa e suas dependências para o diretório do executável, lembrando que o c# usa dll Cdecl e o programa executa de acordo como o sistema operacional, ou seja se o sistema operacional for x64 o programa executa em x64 e vice versa;

  • Like 2

 

Link to comment
Share on other sites

  • Este tópico foi criado há 1748 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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

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.