Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
#1

Не подключается сторонняя библиотека - C++

31.05.2013, 23:10. Просмотров 762. Ответов 2
Метки нет (Все метки)

Раньше всё работало, но с сегодняшнего дня перестало. При подключении библиотеке winpcap Выдаёт следующие ошибки:
main.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ pcap_open_live в функции main
main.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ pcap_close в функции main
main.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ pcap_loop в функции main
main.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ pcap_findalldevs в функции main
main.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ pcap_freealldevs в функции main

Код для компиляции использую такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#ifdef _MSC_VER
/*
 * we do not want the warnings about the old deprecated and unsecure CRT functions
 * since these examples can be compiled under *nix as well
 */
#define _CRT_SECURE_NO_WARNINGS
#endif
 
#include <pcap.h>
 
/* prototype of the packet handler */
void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);
 
int main()
{
    pcap_if_t *alldevs;
    pcap_if_t *d;
    int inum;
    int i=0;
    pcap_t *adhandle;
    char errbuf[PCAP_ERRBUF_SIZE];
 
    /* Retrieve the device list */
    if(pcap_findalldevs(&alldevs, errbuf) == -1)
    {
        fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
        exit(1);
    }
 
    /* Print the list */
    for(d=alldevs; d; d=d->next)
    {
        printf("%d. %s", ++i, d->name);
        if (d->description)
            printf(" (%s)\n", d->description);
        else
            printf(" (No description available)\n");
    }
 
    if(i==0)
    {
        printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
        return -1;
    }
 
    printf("Enter the interface number (1-%d):",i);
    scanf("%d", &inum);
 
    if(inum < 1 || inum > i)
    {
        printf("\nInterface number out of range.\n");
        /* Free the device list */
        pcap_freealldevs(alldevs);
        return -1;
    }
 
    /* Jump to the selected adapter */
    for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
 
    /* Open the device */
    /* Open the adapter */
    if ((adhandle= pcap_open_live(d->name,  // name of the device
                             65536,         // portion of the packet to capture.
                                            // 65536 grants that the whole packet will be captured on all the MACs.
                             1,             // promiscuous mode (nonzero means promiscuous)
                             1000,          // read timeout
                             errbuf         // error buffer
                             )) == NULL)
    {
        fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
        /* Free the device list */
        pcap_freealldevs(alldevs);
        return -1;
    }
 
    printf("\nlistening on %s...\n", d->description);
 
    /* At this point, we don't need any more the device list. Free it */
    pcap_freealldevs(alldevs);
 
    /* start the capture */
    pcap_loop(adhandle, 0, packet_handler, NULL);
 
    pcap_close(adhandle);
    return 0;
}
 
 
/* Callback function invoked by libpcap for every incoming packet */
void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data)
{
    struct tm *ltime;
    char timestr[16];
    time_t local_tv_sec;
 
    /*
     * unused parameters
     */
    (VOID)(param);
    (VOID)(pkt_data);
 
    /* convert the timestamp to readable format */
    local_tv_sec = header->ts.tv_sec;
    ltime=localtime(&local_tv_sec);
    strftime( timestr, sizeof timestr, "%H:%M:%S", ltime);
 
    printf("%s,%.6d len:%d\n", timestr, header->ts.tv_usec, header->len);
 
}
Очень прошу, помогите. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2013, 23:10     Не подключается сторонняя библиотека
Посмотрите здесь:

Не подключается библиотека - C++
Добрый день. Есть класс main.cpp. Пытаюсь в нем подключить Class2.h и использовать. Но все функции из него не определяются в main. ...

не подключается библиотека - C++
скачал Microsoft Visual C++ 2010 Express пытаюся подключить библиотеку math и возникает ошибка не удается открыть источник файл...

Не подключается файл - C++
Здравствуйте! Не подключается файл libs.h в wxDev C++. Подскажите пожалуйста что делать? Почему не работает? Перепечатывайте тексты...

Не подключается хедер - C++
Недавно начал изучать классы, и столкнулся с проблемой подключения хедера с описанием класса, пример таков: //klass.h class book ...

Не подключается к FTP - C++
Добрый вечер, форумчане! Возник очередной несуразный вопрос. Программа не может подключиться к FTP, просто вылетает. Подключает по такому...

Не подключается <string> - C++
Добрый день, я новичок в C++, и много могу не понимать, так что простите за, возможно, глупые вопросы. Судя по всему, здесь дело в...

Не подключается заголовочный файл - C++
Вот ошибка. Место, где лежат файлы. Подключаю их.

Не подключается заголовочный файл - C++
Как подключить библиотеку #include &quot;array.h&quot;,очень нужно.Заранее спасибо) вот что выдает

Библиотекой не подключается vcl.h - C++
Здравствуйте! Не подключается библиотека #include &lt;vcl.h&gt; в следствии за ней #include &lt;iostream.h&gt; Не могу понять в чём проблема.Буду...

Не подключается к smpd manager, openmpi - C++
Создала проект в VS 2013, подключила все что надо в свойствах (Ms HPC Pack 2008 SDK), пытаюсь запустить через mpiexec, выдает ошибку :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
31.05.2013, 23:32     Не подключается сторонняя библиотека #2
я так понял это студийный проект. в свойствах проекта в опциях линкера посмотрите как подлючаются библиотеки (*.lib файлы). там уже должны быть всякие win32.lib или что-то такое. нужно рядом прописать lib файл от pcap.
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
31.05.2013, 23:44  [ТС]     Не подключается сторонняя библиотека #3
Спасибо, помогло.
Я сильно тупанул, в конце не поставил ; при объявлении либов)

DU, а не знаете как подключать библиотеке в qt creator?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru