Я пытаюсь использовать http://www.net-snmp.org libary в моем проекте, но после его сборки он выходит из строя, не имея возможности получить информацию об отладке.
Чтобы быть более ясным: я нажал кнопку запуска → Запуск program.exe → Программа crahsed без какого-либо вывода или окна
Я использую 64-битный 64-разрядный бит MSVC++ 2010 бит-бит Qt5.0.2 и двоичные файлы для net-snmp из http://softlayer-ams.dl.sourceforge.net/project/net-snmp/net-snmp %20binaries/5,7-двоичные файлы /Net-SNMP-5.7.0-1.x86.exe
Я добавил эти строки в свой *.pro файл, чтобы включить в него
win32:INCLUDEPATH += "C:\snmp_5.7.0\include"
LIBS += -L"C:\snmp_5.7.0\lib" -lnetsnmp -lnetsnmpmibs -lnetsnmptrapd
и хотел следовать "Простым учебным приложениям" (http://www.net-snmp.org/wiki/index.php/TUT:Simple_Application)
Это то, что я получил до сих пор:
snmpTest.h
#ifndef SNMPTEST_H
#define SNMPTEST_H
#include <QDebug>
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/library/transform_oids.h>
class SnmpTest
{
public:
SnmpTest();
void doSnmp();
};
#endif // SNMPTEST_H
snmpTest.cpp
#include "snmptest.h"
SnmpTest::SnmpTest()
{
}
void SnmpTest::doSnmp()
{
const char *our_v3_passphrase = "XXXX";
struct snmp_session session, *ss;
struct snmp_pdu *pdu;
struct snmp_pdu *response;
oid anOID[MAX_OID_LEN];
size_t anOID_len = MAX_OID_LEN;
struct variable_list *vars;
int status;
/*
* Initialize the SNMP library
*/
init_snmp("app");
}
Если я удалю строку
init_snmp("app");
он строит и работает просто отлично.
Заранее спасибо!
Я решил проблему, скомпилировав библиотеку самостоятельно
Я также столкнулся с этой проблемой, прежде всего, нужно скомпилировать библиотеку net-snmp, а затем скомпилировать файл netsnmp.dll необходимо разместить в каталоге исполняемого файла программы.