Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
蓝牙SDK头中的错误 #包括 #包括 #包括 #包括 #包括 #pragma注释(lib,“Bthprops.lib”) 内部主(空){ WSADATA WSADATA; INTERR; 德沃德·克苏伦; WSAQUERYSET*qs; 德沃德旗; 处理lphLookup; 国际互联网; 字符buff[4096]; LPWSAQUERYSET pwsaResult=(LPWSAQUERYSET)buff; DWORD buffLen=尺寸(buff); BTH_ADDR结果; 单词wVersionRquested=MAKEWORD(2,2); err=WSAStartup(wVersionRquested,&wsaData);//Statrup函数 如果(错误!=0){ printf(“WSAStartup失败”); 返回1; } qs_len=sizeof(WSAQUERYSET); qs=(WSAQUERYSET*)malloc(qs_len);//为WSAQUERYSET结构保存内存 ZeroMemory(qs,qs_len);//零WSAQUERYSET-out qs->dwSize=sizeof(WSAQUERYSET); qs->dwNameSpace=NS\u BTH; qs->lpcsaBuffer=NULL; flags=LUP_CONTAINERS | LUP_FLUSHCACHE | LUP_RETURN_NAME | LUP_RETURN_ADDR;//设备发现的详细信息 iRet=WSALookupServiceBegin(qs、标志和lphLookup); 如果(iRet==错误\成功){ printf(“WSALookupServiceBegin失败”); 返回1; } printf(“\r\n\t\t\t扫描…”); 零内存(pwsaResult,sizeof(LPWSAQUERYSET)); pwsaResult->dwSize=sizeof(WSAQUERYSET); pwsaResult->dwNameSpace=NS_BTH; pwsaResult->lpBlob=NULL; while(WSALookupServiceNext(lphLookup、flags和buffLen、pwsaResult)!=ERROR\u SUCCESS){ 结果=((BTH_ADDR)qs->lpcsaBuffer->RemoteAddr.lpSockaddr); WSAAddressToString(qs->lpcsaBuffer->RemoteAddr.lpSockaddr,sizeof(SOCKADDR_BTH),NULL,(LPWSTR)buff,&buffLen); printf(“找到:%s-%s”,buff,qs->lpszServiceInstanceName); } WSALookupServiceEnd(lphLookup); 免费(qs); WSACleanup(); 返回0; }_C_Sockets_Bluetooth - Fatal编程技术网

蓝牙SDK头中的错误 #包括 #包括 #包括 #包括 #包括 #pragma注释(lib,“Bthprops.lib”) 内部主(空){ WSADATA WSADATA; INTERR; 德沃德·克苏伦; WSAQUERYSET*qs; 德沃德旗; 处理lphLookup; 国际互联网; 字符buff[4096]; LPWSAQUERYSET pwsaResult=(LPWSAQUERYSET)buff; DWORD buffLen=尺寸(buff); BTH_ADDR结果; 单词wVersionRquested=MAKEWORD(2,2); err=WSAStartup(wVersionRquested,&wsaData);//Statrup函数 如果(错误!=0){ printf(“WSAStartup失败”); 返回1; } qs_len=sizeof(WSAQUERYSET); qs=(WSAQUERYSET*)malloc(qs_len);//为WSAQUERYSET结构保存内存 ZeroMemory(qs,qs_len);//零WSAQUERYSET-out qs->dwSize=sizeof(WSAQUERYSET); qs->dwNameSpace=NS\u BTH; qs->lpcsaBuffer=NULL; flags=LUP_CONTAINERS | LUP_FLUSHCACHE | LUP_RETURN_NAME | LUP_RETURN_ADDR;//设备发现的详细信息 iRet=WSALookupServiceBegin(qs、标志和lphLookup); 如果(iRet==错误\成功){ printf(“WSALookupServiceBegin失败”); 返回1; } printf(“\r\n\t\t\t扫描…”); 零内存(pwsaResult,sizeof(LPWSAQUERYSET)); pwsaResult->dwSize=sizeof(WSAQUERYSET); pwsaResult->dwNameSpace=NS_BTH; pwsaResult->lpBlob=NULL; while(WSALookupServiceNext(lphLookup、flags和buffLen、pwsaResult)!=ERROR\u SUCCESS){ 结果=((BTH_ADDR)qs->lpcsaBuffer->RemoteAddr.lpSockaddr); WSAAddressToString(qs->lpcsaBuffer->RemoteAddr.lpSockaddr,sizeof(SOCKADDR_BTH),NULL,(LPWSTR)buff,&buffLen); printf(“找到:%s-%s”,buff,qs->lpszServiceInstanceName); } WSALookupServiceEnd(lphLookup); 免费(qs); WSACleanup(); 返回0; }

蓝牙SDK头中的错误 #包括 #包括 #包括 #包括 #包括 #pragma注释(lib,“Bthprops.lib”) 内部主(空){ WSADATA WSADATA; INTERR; 德沃德·克苏伦; WSAQUERYSET*qs; 德沃德旗; 处理lphLookup; 国际互联网; 字符buff[4096]; LPWSAQUERYSET pwsaResult=(LPWSAQUERYSET)buff; DWORD buffLen=尺寸(buff); BTH_ADDR结果; 单词wVersionRquested=MAKEWORD(2,2); err=WSAStartup(wVersionRquested,&wsaData);//Statrup函数 如果(错误!=0){ printf(“WSAStartup失败”); 返回1; } qs_len=sizeof(WSAQUERYSET); qs=(WSAQUERYSET*)malloc(qs_len);//为WSAQUERYSET结构保存内存 ZeroMemory(qs,qs_len);//零WSAQUERYSET-out qs->dwSize=sizeof(WSAQUERYSET); qs->dwNameSpace=NS\u BTH; qs->lpcsaBuffer=NULL; flags=LUP_CONTAINERS | LUP_FLUSHCACHE | LUP_RETURN_NAME | LUP_RETURN_ADDR;//设备发现的详细信息 iRet=WSALookupServiceBegin(qs、标志和lphLookup); 如果(iRet==错误\成功){ printf(“WSALookupServiceBegin失败”); 返回1; } printf(“\r\n\t\t\t扫描…”); 零内存(pwsaResult,sizeof(LPWSAQUERYSET)); pwsaResult->dwSize=sizeof(WSAQUERYSET); pwsaResult->dwNameSpace=NS_BTH; pwsaResult->lpBlob=NULL; while(WSALookupServiceNext(lphLookup、flags和buffLen、pwsaResult)!=ERROR\u SUCCESS){ 结果=((BTH_ADDR)qs->lpcsaBuffer->RemoteAddr.lpSockaddr); WSAAddressToString(qs->lpcsaBuffer->RemoteAddr.lpSockaddr,sizeof(SOCKADDR_BTH),NULL,(LPWSTR)buff,&buffLen); printf(“找到:%s-%s”,buff,qs->lpszServiceInstanceName); } WSALookupServiceEnd(lphLookup); 免费(qs); WSACleanup(); 返回0; },c,sockets,bluetooth,C,Sockets,Bluetooth,我在MicrosoftSDK文件夹中的bthsdpdef.h中发现了大量语法和缺少的类型错误。 例如: h(11):错误C2146:语法错误:缺少“;”在标识符“LowPart”之前 bthsdpdef.h(11):错误C4430:缺少类型说明符-假定为int。注意:C++不支持默认INT/P> 有什么问题吗?我认为编译器错误中有一个提示(我知道,这很奇怪,但确实发生了) 这些可能是C API,但你编译为C++。您的代码看起来确实像C,所以请仔细检查您的编译器调用。我认为编译器错误中有一个提示(

我在MicrosoftSDK文件夹中的bthsdpdef.h中发现了大量语法和缺少的类型错误。 例如:

h(11):错误C2146:语法错误:缺少“;”在标识符“LowPart”之前

bthsdpdef.h(11):错误C4430:缺少类型说明符-假定为int。注意:C++不支持默认INT/P>
有什么问题吗?

我认为编译器错误中有一个提示(我知道,这很奇怪,但确实发生了)


这些可能是C API,但你编译为C++。您的代码看起来确实像C,所以请仔细检查您的编译器调用。

我认为编译器错误中有一个提示(我知道,这很令人惊讶,但它确实发生了)


这些可能是C API,但你编译为C++。不过,您的代码看起来确实像C,所以请仔细检查编译器调用。

在文件顶部(在#include的上方)添加以下行。这为我修复了编译

#include <Bthsdpdef.h>
#include <BluetoothAPIs.h>
#include <Winsock2.h>
#include <Ws2bth.h>
#include <stdio.h>

#pragma comment(lib, "Bthprops.lib")


int main(void){
    WSADATA wsaData;
    int err;
    DWORD qs_len;
    WSAQUERYSET *qs;
    DWORD flags;
    HANDLE lphLookup;
    int iRet;
    char buff[4096];
    LPWSAQUERYSET pwsaResult = (LPWSAQUERYSET) buff;
    DWORD buffLen = sizeof(buff);
    BTH_ADDR result;

    WORD wVersionRquested = MAKEWORD(2,2);
    err = WSAStartup(wVersionRquested, &wsaData);   //Statrup function

    if(err != 0){
        printf("WSAStartup failed");
        return 1;
    }

    qs_len = sizeof(WSAQUERYSET);
    qs = (WSAQUERYSET *) malloc(qs_len); // Save memory for  WSAQUERYSET structere
    ZeroMemory(qs, qs_len); //zero WSAQUERYSET out

    qs->dwSize = sizeof(WSAQUERYSET);
    qs->dwNameSpace = NS_BTH;
    qs->lpcsaBuffer = NULL;
    flags = LUP_CONTAINERS | LUP_FLUSHCACHE | LUP_RETURN_NAME | LUP_RETURN_ADDR; //details of the device discovery

    iRet = WSALookupServiceBegin(qs, flags, &lphLookup);
    if(iRet == ERROR_SUCCESS){
        printf("WSALookupServiceBegin failed");
        return 1;
    }
    printf("\r\n\t\t\t\tScanning...");

    ZeroMemory(pwsaResult, sizeof(LPWSAQUERYSET));
    pwsaResult->dwSize = sizeof(WSAQUERYSET);
    pwsaResult->dwNameSpace = NS_BTH;
    pwsaResult->lpBlob = NULL;

    while(WSALookupServiceNext(lphLookup, flags, &buffLen, pwsaResult) != ERROR_SUCCESS){
        result = ((BTH_ADDR)qs->lpcsaBuffer->RemoteAddr.lpSockaddr);
        WSAAddressToString(qs->lpcsaBuffer->RemoteAddr.lpSockaddr, sizeof(SOCKADDR_BTH), NULL, (LPWSTR)buff, &buffLen);
        printf("Found: %s - %s", buff, qs->lpszServiceInstanceName);
    }

    WSALookupServiceEnd(lphLookup);
    free(qs);
    WSACleanup();
    return 0;
}

在文件顶部添加以下行(在#include的上方)。这为我修复了编译

#include <Bthsdpdef.h>
#include <BluetoothAPIs.h>
#include <Winsock2.h>
#include <Ws2bth.h>
#include <stdio.h>

#pragma comment(lib, "Bthprops.lib")


int main(void){
    WSADATA wsaData;
    int err;
    DWORD qs_len;
    WSAQUERYSET *qs;
    DWORD flags;
    HANDLE lphLookup;
    int iRet;
    char buff[4096];
    LPWSAQUERYSET pwsaResult = (LPWSAQUERYSET) buff;
    DWORD buffLen = sizeof(buff);
    BTH_ADDR result;

    WORD wVersionRquested = MAKEWORD(2,2);
    err = WSAStartup(wVersionRquested, &wsaData);   //Statrup function

    if(err != 0){
        printf("WSAStartup failed");
        return 1;
    }

    qs_len = sizeof(WSAQUERYSET);
    qs = (WSAQUERYSET *) malloc(qs_len); // Save memory for  WSAQUERYSET structere
    ZeroMemory(qs, qs_len); //zero WSAQUERYSET out

    qs->dwSize = sizeof(WSAQUERYSET);
    qs->dwNameSpace = NS_BTH;
    qs->lpcsaBuffer = NULL;
    flags = LUP_CONTAINERS | LUP_FLUSHCACHE | LUP_RETURN_NAME | LUP_RETURN_ADDR; //details of the device discovery

    iRet = WSALookupServiceBegin(qs, flags, &lphLookup);
    if(iRet == ERROR_SUCCESS){
        printf("WSALookupServiceBegin failed");
        return 1;
    }
    printf("\r\n\t\t\t\tScanning...");

    ZeroMemory(pwsaResult, sizeof(LPWSAQUERYSET));
    pwsaResult->dwSize = sizeof(WSAQUERYSET);
    pwsaResult->dwNameSpace = NS_BTH;
    pwsaResult->lpBlob = NULL;

    while(WSALookupServiceNext(lphLookup, flags, &buffLen, pwsaResult) != ERROR_SUCCESS){
        result = ((BTH_ADDR)qs->lpcsaBuffer->RemoteAddr.lpSockaddr);
        WSAAddressToString(qs->lpcsaBuffer->RemoteAddr.lpSockaddr, sizeof(SOCKADDR_BTH), NULL, (LPWSTR)buff, &buffLen);
        printf("Found: %s - %s", buff, qs->lpszServiceInstanceName);
    }

    WSALookupServiceEnd(lphLookup);
    free(qs);
    WSACleanup();
    return 0;
}

我在properties->c/c++->advanced->compile as c中更改了编译属性,但仍然存在错误:(我在properties->c/c++->advanced->compile as c中更改了编译属性,仍然存在错误:(
struct SDP_LARGE_INTEGER_16 {
    ULONGLONG LowPart;
    LONGLONG HighPart;
};