静的ビルド中に Oracle ライブラリが見つかりません
Ubuntu で Oracle ライブラリを使用して静的 Go 実行可能ファイルを作成しようとすると、エラーが発生しましたそれらをリンクしようとしています。動的ビルドは成功しましたが、必要なファイルが正しい場所に存在しているにもかかわらず、静的コンパイラは Oracle ライブラリを見つけることができないと報告しました。
解決策
/usr/bin/c++ -Wall -ggdb3 -fPIC \ CMakeFiles/opassgen.dir/opassgen.cpp.o \ CMakeFiles/opassgen.dir/dbutils.cpp.o \ CMakeFiles/opassgen.dir/common.cpp.o \ CMakeFiles/opassgen.dir/crypto.cpp.o \ n.o -o opassgen \ -rdynamic -static-libgcc -L. -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic \ /home/oracle/ivan/openssl-1.0.1t/libcrypto.a \ /oracle/u01/db/11.2.0.4/lib/libclntst11.a \ /oracle/u01/db/11.2.0.4/lib/libippdcmerged.a \ /oracle/u01/db/11.2.0.4/lib/libippsmerged.a \ -Wl,--whole-archive libtrotl.a -Wl,--no-whole-archive \ -lpthread -ldl
このコマンドには、依存関係を解決するための追加の静的ライブラリが含まれています。 libippdcmerged.a と libippsmerged.a が含まれます。
要約すると、静的リンクではすべての依存関係を手動で解決する必要があり、通常は動的リンクに含まれない追加のライブラリを含める必要がある場合があります。
以上がGo アプリケーションを Oracle ライブラリに静的にリンクできないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。