我在Visual Studio中构建了一个简单的程序,如下所示。
#define LIBSSH_STATIC 1
#include <libssh/libssh.h>
#include <iostream>
#include <stdlib.h>
int main()
{
std::cout << "Hello World!n";
ssh_session my_ssh_session;
int verbosity = SSH_LOG_PROTOCOL;
int port = 22;
my_ssh_session = ssh_new();
if (my_ssh_session == NULL)
exit(-1);
ssh_options_set(my_ssh_session, SSH_OPTIONS_HOST, "10.10.10.100");
ssh_options_set(my_ssh_session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity);
ssh_options_set(my_ssh_session, SSH_OPTIONS_PORT, &port);
ssh_free(my_ssh_session);
}
对于Lisssh库,我已经从这里下载了代码:https://github.com/ShiftMediaProject/libssh/releases
并按照此处的说明将库添加到Visual Studio如何手动将库添加到visual studio 2017项目?
这个库可以工作,程序可以编译,我唯一的问题是,为了让它工作,我必须手动将一个名为ssh.dll的文件复制到程序执行的文件夹中。
我尝试过在Visual Studio中设置C/C++,代码生成->多线程(/MT(静态链接库,但没有包含DLL。
如何创建一个包含ssh.dll的可执行文件?
感谢
.dll
是动态链接库;它并不意味着被包括在CCD_ 2中。有很多方法,但它们既丑陋又困难。
";适当的";更简单的方法是将libssh构建为静态库;这将为您提供一个.lib
文件,您可以轻松地将其添加到.exe
中。
看起来您使用的下载已经包含这些.lib
文件。只需将libssh.lib
文件添加到项目中,并省略ssh.lib
(它只是.dll
的导入库,从文件的大小可以看出(。