gnuTLS || c++ || compilerings error || LÖST
Hej kära sweC.
Som nämnt i rubriken får jag ett kompileringsfel som jag tyvärr inte förstår, erroret:
error: invalid conversion from ‘int’ to ‘gnutls_certificate_type_t’ [-fpermissive]
assert(gnutls_certificate_verification_status_print(status, type, &out, 0)>=0);
^
Min kod där felet uppstår:
type = gnutls_certificate_type_get(session);
status = gnutls_session_get_verify_cert_status(session);
assert(gnutls_certificate_verification_status_print(status, type, &out, 0)>=0); // <-- Här är felet.
Om jag skriver om koden lite:
assert(gnutls_certificate_verification_status_print(gnutls_session_get_verify_cert_status(session), gnutls_certificate_type_get(session), &out, 0)>=0);
Får jag följande error:
/tmp/ccptkVYv.o: In function `main':
client.cpp:(.text+0x19a): undefined reference to `gnutls_check_version'
client.cpp:(.text+0x1cf): undefined reference to `gnutls_global_init'
client.cpp:(.text+0x1f8): undefined reference to `gnutls_certificate_allocate_credentials'
client.cpp:(.text+0x236): undefined reference to `gnutls_certificate_set_x509_trust_file'
client.cpp:(.text+0x264): undefined reference to `gnutls_init'
client.cpp:(.text+0x29c): undefined reference to `gnutls_server_name_set'
client.cpp:(.text+0x2c5): undefined reference to `gnutls_set_default_priority'
client.cpp:(.text+0x2f7): undefined reference to `gnutls_credentials_set'
client.cpp:(.text+0x32a): undefined reference to `gnutls_session_set_verify_cert'
client.cpp:(.text+0x346): undefined reference to `gnutls_transport_set_int2'
client.cpp:(.text+0x357): undefined reference to `gnutls_handshake_set_timeout'
client.cpp:(.text+0x363): undefined reference to `gnutls_handshake'
client.cpp:(.text+0x376): undefined reference to `gnutls_error_is_fatal'
client.cpp:(.text+0x3af): undefined reference to `gnutls_certificate_type_get'
client.cpp:(.text+0x3bd): undefined reference to `gnutls_session_get_verify_cert_status'
client.cpp:(.text+0x3d2): undefined reference to `gnutls_certificate_verification_status_print'
client.cpp:(.text+0x421): undefined reference to `gnutls_free'
client.cpp:(.text+0x434): undefined reference to `gnutls_strerror'
client.cpp:(.text+0x474): undefined reference to `gnutls_deinit'
client.cpp:(.text+0x480): undefined reference to `gnutls_certificate_free_credentials'
client.cpp:(.text+0x485): undefined reference to `gnutls_global_deinit'
client.cpp:(.text+0x493): undefined reference to `gnutls_session_get_desc'
client.cpp:(.text+0x4cc): undefined reference to `gnutls_free'
client.cpp:(.text+0x509): undefined reference to `gnutls_record_send'
client.cpp:(.text+0x545): undefined reference to `gnutls_record_recv'
client.cpp:(.text+0x580): undefined reference to `gnutls_deinit'
client.cpp:(.text+0x58c): undefined reference to `gnutls_certificate_free_credentials'
client.cpp:(.text+0x591): undefined reference to `gnutls_global_deinit'
client.cpp:(.text+0x5a6): undefined reference to `gnutls_error_is_fatal'
client.cpp:(.text+0x5c4): undefined reference to `gnutls_strerror'
client.cpp:(.text+0x600): undefined reference to `gnutls_strerror'
client.cpp:(.text+0x640): undefined reference to `gnutls_deinit'
client.cpp:(.text+0x64c): undefined reference to `gnutls_certificate_free_credentials'
client.cpp:(.text+0x651): undefined reference to `gnutls_global_deinit'
client.cpp:(.text+0x703): undefined reference to `gnutls_deinit'
client.cpp:(.text+0x70f): undefined reference to `gnutls_certificate_free_credentials'
client.cpp:(.text+0x714): undefined reference to `gnutls_global_deinit'
collect2: error: ld returned 1 exit status
Makefile:2: recipe for target 'comp' failed
I dokumentationen står det:
("The certificate type") vilket jag tycker jag har
skrivit och därav förvirringen.
Är det någon som har ett svar på varför det är fel?
Dokumentation om gnutls_certificate_type_get hittas
här.
Lite kort fakta om gnutls (för mitt syfte):
Är C baserat (finns c++11 som är begränsat).
Jag använder mig av x509.
Tack för svar!
Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6