我在我的Ubuntu linux上安裝了libssh2庫。當編譯C代碼我收到這樣的信息:從libssh2獲取未定義的引用
未定義的參考`libssh2_session_init_ex」
我下載了libssh2從他們的網站。我按照如何將它安裝在我的電腦上的說明,但似乎我仍然失蹤soemthing。
這是我的代碼在我的make文件:
all: ssh
ssh: mysshpass.c
gcc -lssh2 -g -o mysshpass mysshpass.c
clean:
rm -rf mysshpass
的包括C代碼的一部分:
1 #include <stdlib.h>
2 #include <libssh2.h>
3 #include <libssh2_sftp.h>
4
5 #include <sys/socket.h>
6 #include <netinet/in.h>
7 #include <arpa/inet.h>
8 #include <sys/types.h>
9 #include <stdio.h>
10 #include <string.h>
11
12 //#include <libssh2_config.h>
13
14 int main(int argc, char *argv[])
非常感謝提前
注:
我用了這條新線:
all: ssh
ssh: mysshpass.c
gcc -g -Lusr/src/libssh2-1.4.1/include -o mysshpass mysshpass.c
clean:
rm -rf mysshpass
但仍然相同的編譯錯誤。順便說一下,我被告知要安裝libssh2-devel,但我不知道該怎麼做。
感謝
可能你的系統上有多個libssh2庫,並且鏈接器選錯了一個。建議:使用「-L」來明確指向你的libssh2庫。 – paulsm4 2012-04-22 05:22:45
@ paulsm4:我使用了相同的錯誤。 gcc -g -Lusr/src/libssh2-1.4.1/include -o mysshpass mysshpass.c – superfloyd 2012-04-22 05:41:25
@Binyamin:謝謝我試過,但沒有結果:(。同樣的錯誤。 – superfloyd 2012-04-22 06:32:49