Impossible de trouver la bibliothèque Oracle lors de la construction statique
Dans une tentative de création d'un exécutable Go statique avec les bibliothèques Oracle sur Ubuntu, des erreurs ont été rencontrées lors de la création d'un exécutable Go statique avec les bibliothèques Oracle sur Ubuntu. en essayant de les relier. Malgré des builds dynamiques réussis, le compilateur statique a signalé une incapacité à trouver la bibliothèque Oracle, malgré le fait que les fichiers requis étaient présents aux emplacements corrects.
Résolution
/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
Cette commande inclut des bibliothèques statiques supplémentaires pour résoudre les dépendances, notamment libippdcmerged.a et libippsmerged.a.
En résumé, les liens statiques nécessitent une résolution manuelle de toutes les dépendances, ce qui peut nécessiter l'inclusion de bibliothèques supplémentaires qui ne sont généralement pas incluses dans les liens dynamiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!