0

残念ながらそうです。

共有ライブラリをコンパイルしましたが、リンカーはそれが見つからないことについて不平を言いませんが、未定義の参照エラーが発生します。私が何か間違ったことをしているかもしれないと考えて、少し調査を行ったところ、この素晴らしく簡単なチュートリアルを見つけました。

http://www.adp-gmbh.ch/cpp/gcc/create_lib.html

私は手紙に従ったが、それでも私は得る:

$ gcc -Wall main.c -o dynamically_linked  -L.\ -lmean
/tmp/ccZjkkkl.o: In function `main':
main.c:(.text+0x42): undefined reference to `mean'
collect2: ld returned 1 exit status

これは非常に単純なことですが、何が問題なのですか?! チェック/微調整が必​​要な設定はありますか?

GCC 4.3.2 Fedora 10 64 ビット

4

2 に答える 2

3

変化する:

$ gcc -Wall main.c -o dynamically_linked  -L.\ -lmean

に:

$ gcc -Wall main.c -o dynamically_linked  -L. -lmean



おそらくこれを行うつもりでした:

$ gcc -Wall main.c -o dynamically_linked  -L./ -lmean

これは問題ありませんが、末尾/が冗長です

于 2010-05-12T14:13:09.457 に答える
0

ライブラリはどのように作成されましたか?libtool?

現在のディレクトリの ls -l を表示して、その内容を確認しgcc -v <rest of your command>てください (gcc が何をしているかの詳細が表示されます)。

于 2010-10-26T17:31:17.457 に答える