在靜態建置期間無法找到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中文網其他相關文章!