蓝牙(未解析的外部符号)

时间:2013-05-29 16:21:56

标签: c++ visual-c++

我正在使用Microsoft visual studio express 2012,C ++创建一个程序,用这个mac地址与设备进行简单的蓝牙连接:“00:12:08:24:15:50”,

#include "stdafx.h"
#include <WinSock2.h>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <bluetoothapis.h>
#include <ws2bth.h>

typedef ULONGLONG bt_addr, *pbt_addr, BT_ADDR, *PBT_ADDR;

int main()
{
    WSADATA wsd;
    SOCKET client_socket; 
    SOCKADDR_BTH sa;
    BT_ADDR b;

    b = 0x001208241550;

    WSAStartup (MAKEWORD(1,0), &wsd);

    client_socket = socket (AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM);

    memset (&sa, 0, sizeof(sa));
    sa.btAddr = b;
    sa.port = 1;

    if (connect (client_socket, (SOCKADDR *)&sa, sizeof(sa))){  
        //Perform error handling.
        closesocket (client_socket);
        return 0;
    }

    closesocket(client_socket);
    CloseHandle ((LPVOID)client_socket);
    WSACleanup();

    return 0;
}

当我构建它时,它总是给我以下错误:

error LNK2019: unresolved external symbol __imp__closesocket@4 referenced in function _main C:\Users\Strawhatphil\Documents\Visual Studio 2012\Projects\ConsoleApplication8\ConsoleApplication8\ConsoleApplication8.obj ConsoleApplication8
error LNK2019: unresolved external symbol __imp__connect@12 referenced in function _main    C:\Users\Strawhatphil\Documents\Visual Studio 2012\Projects\ConsoleApplication8\ConsoleApplication8\ConsoleApplication8.obj ConsoleApplication8
error LNK2019: unresolved external symbol __imp__socket@12 referenced in function _main C:\Users\Strawhatphil\Documents\Visual Studio 2012\Projects\ConsoleApplication8\ConsoleApplication8\ConsoleApplication8.obj ConsoleApplication8
error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function _main  C:\Users\Strawhatphil\Documents\Visual Studio 2012\Projects\ConsoleApplication8\ConsoleApplication8\ConsoleApplication8.obj ConsoleApplication8
error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function _main  C:\Users\Strawhatphil\Documents\Visual Studio 2012\Projects\ConsoleApplication8\ConsoleApplication8\ConsoleApplication8.obj ConsoleApplication8
error LNK1120: 5 unresolved externals   C:\Users\Strawhatphil\Documents\Visual Studio 2012\Projects\ConsoleApplication8\Debug\ConsoleApplication8.exe   ConsoleApplication8

我做错了怎么解决这个问题?

3 个答案:

答案 0 :(得分:1)

请注意,您必须将Ws2_32.lib添加到链接库列表中。

答案 1 :(得分:0)

您需要安装Windows Platform SDK,它将安装许多库。在安装位置的l​​ib目录中将是文件ws2_32.lib,它是您要链接的Winsock2库。

答案 2 :(得分:0)

您必须转到项目的属性然后配置属性,在链接器选项中转到该条目并选择aditional依赖项并进行编辑。添加ws2_32.lib和bthprops.lib库。顺便说一句,我有Windows 7与sdk和visual studio 2013