2015-06-18 23 views
-2
struct sockaddr_in6 server_addr; 
server_addr.sin6_scope_id = if_nametoindex(p_global->ini_params.remote_nw_type); 

這是生成錯誤的代碼行。我正在研究ipv6。請告訴是否有一個圖書館缺少這個或其他東西。如何解決未解決的外部符號錯誤 - 在Visual Studio 2013中的if_nametoindex

到底是什麼if_nametoindex在做什麼,需要什麼樣的價值爲sin6_scope_id

+0

[財產以後開始...](http://linux.die.net/man/3/if_nametoindex)。 –

+0

您正在嘗試編譯針對Windows編寫的代碼。祝你好運,你會需要它。 –

回答

0

它看起來像你試圖編譯Visual Studio中,已經爲基於Linux系統開發的程序。

if_nametoindex的是,據我所知,不存在於Windows的功能。 linux版本的函數here有一個手冊。

下面是一個摘錄:

說明

if_nametoindex()函數返回與該名稱對應IFNAME網絡接口的索引。

返回值

成功時,if_nametoindex()返回所述網絡接口的索引號;上的錯誤,則返回0和錯誤號適當地設定。

+0

Thanx mate !!代碼使用這個函數來輸入sin6_scope_id的值。有沒有什麼方法可以在windows中不使用此函數的情況下輸入sin6_scope_id的值。 P.S. - 該代碼支持Windows和Linux與Linux_enabled或Windows_enabled宏。上面的代碼行在windows部分。 –

0

此功能在Windows Vista中引入的。只需將Iphlpapi.lib添加到您的依賴關係列表中即可。它適用於我在編譯libtorrent項目時指定了BOOST_NO_ANSI_APIS預處理器指令。

相關問題