2016-04-06 23 views
0

Visual Studio 2015, WSASetSocketSecurity'u bulamadığını bildiriyor.
Dll mevcut ve iyi görünüyor.
WSASetSocketSecurity eksik

Benim içerir:

windows.h 
stdio.h 
Wincrypt.h 
Ws2tcpip.h 
mstcpip.h 
iostream 
winsock2.h 
rpc.h 
ntdsapi.h 
tchar.h 
pragma comment(lib,"ws2_32.lib") 
pragma comment(lib,"fwpuclnt.lib") 
pragma comment(lib,"ntdsapi.lib") 
using namespace std; 

cevap

1

ihtiyacı aşağıda 3 başlıklarını bu belirli bir düzen dahil edilecek:

  • winsock2.h
  • mstcpip.h
  • Ws2tcpip.h

Teknik olarak bunun nedeni, Winsock'taki makro/tanımlama mekanizmasından kaynaklanmaktadır; winsock2.h, winsock'u etkinleştirir, mstcpip.h, güvenli soket uzatması sağlar ve Ws2tcpip.h, işlevleri tanımlar.

Bu çalışmayı böyle yapmak için belirli bir neden olup olmadığından emin değilim, ama işte böyle.

+0

Sadece bu, teşekkürler. Ama neden? Bu emrin nedenini anlamıyorum –

+0

@TonyFotter Yazdığım gibi (makrolar yüzünden). Temel olarak, 'ws2tcpip.h', güvenli soket işlevlerini yalnızca mstcpip.h'de belirli bir makro tanımlanmışsa ve' mstcpip.h' ise bu makroyu yalnızca winsock 'winsock2.h' içinde tanımla etkinleştirildiyse tanımlar. – ElderBug

+0

@ElderBug #includes sırasının doğru olmasına rağmen aynı hatayı alıyorum (WSASetSocketSecurity bildirilmedi) –