Open jfmcarreira opened 3 years ago
Boa tarde,
esse erro acontece porque nesse sistema o compilador está a incluir uma versão diferente do header file stdsoap2.h
.
A versão que é incluída no projeto está em pteid-mw-pt/_src/eidmw/eidguiV2/stdsoap2.h
e provém do gsoap 2.8.105, tal como se pode confirmar no primeiro bloco de comentários do ficheiro.
De qualquer forma posso confirmar que a compilação do projeto em Ubuntu 20.04 funciona mesmo com o pacote libgsoap-dev
instalado, que tem uma versão anterior: 2.8.91
Eu mesmo instalando esse pacote continua a falhar.
Contudo, o meu objectivo não é compilar a aplicação para Ubuntu apenas o fiz para testes. No meu sistema compilei usando o seguinte patch:
diff --git a/eidguiV2/SCAP-services-v3/SCAP.nsmap b/eidguiV2/SCAP-services-v3/SCAP.nsmap
index aa212895..55feaf37 100644
--- a/eidguiV2/SCAP-services-v3/SCAP.nsmap
+++ b/eidguiV2/SCAP-services-v3/SCAP.nsmap
@@ -1,5 +1,5 @@
-#include "stdsoap2.h"
+#include "../stdsoap2.h"
/* This defines the global XML namespaces[] table to #include and compile */
SOAP_NMAC struct Namespace SCAP_namespaces[] = {
{ "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope", NULL },
diff --git a/eidguiV2/SCAP-services-v3/SCAPStub.h b/eidguiV2/SCAP-services-v3/SCAPStub.h
index 6c71b0f5..e70bb1ac 100644
--- a/eidguiV2/SCAP-services-v3/SCAPStub.h
+++ b/eidguiV2/SCAP-services-v3/SCAPStub.h
@@ -31,7 +31,7 @@ A commercial use license is available from Genivia Inc., contact@genivia.com
#ifndef WITH_NONAMESPACES
#define WITH_NONAMESPACES
#endif
-#include "stdsoap2.h"
+#include "../stdsoap2.h"
#if GSOAP_VERSION != 208105
# error "GSOAP VERSION 208105 MISMATCH IN GENERATED CODE VERSUS LIBRARY CODE: PLEASE REINSTALL PACKAGE"
#endif
Parece-me que isto consegue garantir que ele não vai buscar o #include "stdsoap2.h"
à diretoria errada.
Eu estou a tentar compilar o software contundo estou a obter um erro com a versão do GSOAP.
Tanto em Ubutu 20.04 como em Gentoo. Em ambos os casos não tenho o gsoap instalado e parece que os includes são todos de dentro do projeto.