构建后,带有net-snmp的C ++ Qt5崩溃了

时间:2014-10-17 05:09:30

标签: c++ qt visual-c++ snmp net-snmp

我正在尝试在我的项目中使用http://www.net-snmp.org库,但在构建之后崩溃却没有机会获得调试信息。

更清楚: 我点击了运行按钮 - >启动program.exe - >该程序没有任何输出或窗口

我正在使用Windows 7 64位,MSVC ++ 2010 32位编译器Qt5.0.2和net-snmp的二进制文件 http://softlayer-ams.dl.sourceforge.net/project/net-snmp/net-snmp%20binaries/5.7-binaries/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");

它构建并运行得很好。

提前致谢!

2 个答案:

答案 0 :(得分:0)

我通过自己编译库来解决问题>

答案 1 :(得分:0)

我也遇到过这个问题,首先需要编译net-snmp库,然后编译netsnmp.dll需要放在程序可执行文件目录下。