Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menyelesaikan Ralat Pautan Statik dengan Perpustakaan Oracle dalam Aplikasi CGO?
Menyelesaikan Isu Static Oracle Library untuk CGO Executable
Gambaran Keseluruhan Isu:
Apabila menyusun Aplikasi Go dengan CGO didayakan dan perpustakaan Oracle, ralat berlaku semasa pautan statik. Khususnya, pemaut GCC tidak dapat mencari pustaka Oracle yang diperlukan, libclntsh. Walaupun menentukan laluan perpustakaan semasa penyusunan, isu ini berterusan.
Penyelesaian:
Ikuti langkah ini untuk menyelesaikan isu:
Contoh:
Untuk 11gR2, arahan berikut berjaya menyelesaikan isu:
/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
Ingat, menyelesaikan kebergantungan secara manual diperlukan apabila memaut secara statik. Dalam contoh ini, libclntst11.a bergantung pada libippdcmerged.a dan libippsmerged.a.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Pautan Statik dengan Perpustakaan Oracle dalam Aplikasi CGO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!