首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将libssh导入Qt

将libssh导入Qt
EN

Stack Overflow用户
提问于 2016-12-13 07:45:53
回答 1查看 1.9K关注 0票数 0

我目前正在尝试将libssh导入到我正在工作的Qt项目中。似乎我在项目构建时正确地链接了库,但一旦我运行项目,它就会在任何东西真正启动之前崩溃。这使得调试变得困难。如果我注释掉这行:

my_ssh_session = ssh_new();

然后一切都会正常运行,并且不会发生崩溃。我的.pro文件如下所示

代码语言:javascript
复制
QT += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

QT += sql
QT += script
QT += scripttools
QT += uitools

LIBS += -llibssh

INCLUDEPATH += $$quote(C:\libssh\include)

TARGET = white_wrapper
TEMPLATE = app

SOURCES += main.cpp\
        mainwindow.cpp \
        datafeeder.cpp \
        dbfeeder.cpp \
        xmlhelper.cpp \
        hiddevice.cpp

HEADERS  += mainwindow.h \
         datasource.h \
         datafeeder.h \
         dbfeeder.h \
         xmlhelper.h \
         hiddevice.h

FORMS += mainwindow.ui

在网上看起来问题可能出在dll上,但在运行dll依赖应用程序之后,看起来我已经有了所有需要的dll,所以我想我有点不知所措,希望能输入一些信息,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-01-25 18:13:15

我在libssh-0.7.1、Qt 5.2.1和MinGW中得到了相同的错误信息。

经过研究发现,libssh还需要另外两个动态库:libeay32.dllzlib1.dll。它们没有包含在libssh的分发归档中,因此您必须自己下载它们并复制到libssh.dll旁边(或$PATH上的某个地方)。

在我的.pro文件中,我添加了以下几行(我使用其安装程序将libssh安装到Program Files (x86)目录):

代码语言:javascript
复制
# Libssh:
LIBS += -L$$PWD/'../../../../../Program Files (x86)/libssh/lib/' -lssh.dll
INCLUDEPATH += $$PWD/'../../../../../Program Files (x86)/libssh/include'
DEPENDPATH += $$PWD/'../../../../../Program Files (x86)/libssh/include'

现在我的Qt应用程序可以正常工作了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41111545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档