Mac OS X に makefile があり、最終的なコンパイルの最後のコマンド ラインは次のとおりです。
gcc count_words.o lexer.o -lfl -o count_words
しかし、それは応答します:
ld: library not found for -lfl
collect2: ld returned 1 exit status
ライブラリ libfl.a が /opt/local/lib/ にあり、コマンドラインを次のように変更することがわかりました。
gcc count_words.o lexer.o -L/opt/local/lib/ -lfl -o count_words
それは完全に機能しますが、フォーム -l の前提条件が見られるとき、GNU make search for file for libNAME.so; を読んだことがあります。一致するものが見つからない場合は、libNAME.a を検索します。ここで、make は /opt/local/lib/libfl.a を見つけ、最終的なアクションであるリンクに進む必要がありますが、これは行われていません。
LD_LIBRARY_PATH を使用してみましたが、Mac で作業しているため DYLD_LIBRARY_PATH を使用する必要があることに気付き、/opt/local/lib を指す変数をエクスポートして、makefile を再度実行しようとしましたが、機能しませんでした。エクスポートされた DYLD_FALLBACK_LIBRARY_PATH という別の環境変数が見つかりましたが、機能しませんでした。
私は何をすべきか?