2011-03-04 252 views
1

我想編譯我的代碼爲GnuTLS,但在編譯時出現以下錯誤。在Linux上的GCC編譯錯誤

我已檢查gnutls.h存在於我的系統中/usr/include/gnutls/

還有什麼可以是原因?

gcc -o tls.o tls.c 
/tmp/ccfyZ1Bd.o: In function `main': 
tls.c:(.text+0x1c): undefined reference to `gnutls_global_init' 
tls.c:(.text+0x28): undefined reference to `gnutls_anon_allocate_client_credentials' 
tls.c:(.text+0x3c): undefined reference to `gnutls_init' 
tls.c:(.text+0x58): undefined reference to `gnutls_priority_set_direct' 
tls.c:(.text+0x74): undefined reference to `gnutls_credentials_set' 
tls.c:(.text+0x79): undefined reference to `tcp_connect' 
tls.c:(.text+0x91): undefined reference to `gnutls_transport_set_ptr' 
tls.c:(.text+0x9d): undefined reference to `gnutls_handshake' 
tls.c:(.text+0xdc): undefined reference to `gnutls_perror' 
tls.c:(.text+0x109): undefined reference to `gnutls_record_send' 
tls.c:(.text+0x125): undefined reference to `gnutls_record_recv' 
tls.c:(.text+0x154): undefined reference to `gnutls_strerror' 
tls.c:(.text+0x1e6): undefined reference to `gnutls_bye' 
tls.c:(.text+0x1f2): undefined reference to `tcp_close' 
tls.c:(.text+0x1fe): undefined reference to `gnutls_deinit' 
tls.c:(.text+0x20a): undefined reference to `gnutls_anon_free_client_credentials' 
tls.c:(.text+0x20f): undefined reference to `gnutls_global_deinit' 
collect2: ld returned 1 exit status 
+2

您已經要求gcc輸出文件tls.o.通常* .o文件是已編譯但未鏈接的對象文件。但默認情況下,gcc會嘗試鏈接其輸入。如果你打算編譯但還沒有鏈接,給gcc'-c'標誌。 – aschepler 2011-03-04 21:22:55

回答

3

這是一個鏈接錯誤。您需要包含一些帶有-l標誌的庫。在不知道設置的情況下進行猜測,我會嘗試-lgnutls