-1

テストプログラムをコンパイルしようとすると、次のエラーが発生します

g++     main.cpp   -o main
/tmp/ccICBwKO.o: In function `main':
main.cpp:(.text+0xa): undefined reference to `ssh_new'
main.cpp:(.text+0x2d): undefined reference to `ssh_free'
collect2: error: ld returned 1 exit status
make: *** [main] Error 1

私のmakeファイルには次のものがあります:

all:        main

$main:  main.cpp
        g++ main.cpp -o main -lssh

手伝ってくれてありがとう。(私はC/C++が本当に嫌いです...)

4

1 に答える 1

3

ログからわかるように、makeは に指定したルールを使用していません$mainmainまたは のいずれかの名前を付けたいと思われます$(main)

$mainvariable の値(定義されていないため$m、デフォルトでは何もありません) を と連結し、 の代わりに のルールを作成しました。したがって、ファイルから実行可能ファイルを作成するためのデフォルトのルールに依存します。これには、とのリンクは含まれません。mainainmainmake.cpplibssh

于 2015-10-06T09:41:20.060 に答える