Comment trouver les fichiers .so de la bibliothèque ?

la programmation


OK, cela a été demandé à plusieurs reprises, alors soyez indulgents avec moi.

Mon “outil” semble ignorer OÙ il doit placer les fichiers .so de la bibliothèque.
J’ai besoin d’un moyen FACILE – une commande Linux – pour les trouver.

clang++ -c -pipe -g -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DBT_SCAN_LIB_LIBRARY -DQT_QML_DEBUG -DQT_CORE_LIB -I../BT_SCAN_LIB -I. -I/home/nov25-1/Qt/5.15.2/gcc_64/include -I/home/nov25-1/Qt/5.15.2/gcc_64/include/QtCore -I. -I/home/nov25-1/Qt/5.15.2/gcc_64/mkspecs/linux-clang -o bt_scan_lib.o ../BT_SCAN_LIB/bt_scan_lib.cpp
rm -f libBT_SCAN_LIB.so.1.0.0 libBT_SCAN_LIB.so libBT_SCAN_LIB.so.1 libBT_SCAN_LIB.so.1.0
clang++ -ccc-gcc-name g++ -Wl,-rpath,/home/nov25-1/Qt/5.15.2/gcc_64/lib -shared -Wl,-soname,libBT_SCAN_LIB.so.1 -o libBT_SCAN_LIB.so.1.0.0 bt_scan_lib.o  /home/nov25-1/Qt/5.15.2/gcc_64/lib/libQt5Core.so -lpthread    
ln -s libBT_SCAN_LIB.so.1.0.0 libBT_SCAN_LIB.so
ln -s libBT_SCAN_LIB.so.1.0.0 libBT_SCAN_LIB.so.1
ln -s libBT_SCAN_LIB.so.1.0.0 libBT_SCAN_LIB.so.1.0
objcopy --only-keep-debug libBT_SCAN_LIB.so.1.0.0 libBT_SCAN_LIB.so.1.0.0.debug && objcopy --strip-debug libBT_SCAN_LIB.so.1.0.0 && objcopy --add-gnu-debuglink=libBT_SCAN_LIB.so.1.0.0.debug libBT_SCAN_LIB.so.1.0.0 && chmod -x libBT_SCAN_LIB.so.1.0.0.debug

Ce que j’ai essayé :

J’ai essayé “whereis” et “find”, mais je ne sais pas COMMENT les faire
commandes pour rechercher dans un chemin spécifique, et je préfère en fait NE PAS avoir à spécifier un chemin “suspect” car je ne peux même pas le trouver là-bas en utilisant la recherche manuelle.

Solution 1

Quel est « votre outil » ?
Je veux dire les lignes de commande publiées, ils créent les fichiers de bibliothèque partagés dans (leur) répertoire actuel, je crois.

Solution 2

Vous pouvez toujours essayer de localiser

Coquille
$ sudo apt install -y locate
# ... installation messages snipped ...
$ sudo updatedb
$ locate libc.so
/usr/lib/arm-linux-gnueabihf/libc.so
/usr/lib/arm-linux-gnueabihf/libc.so.6
$

Vous devrez courir updatedb pour remplir initialement la base de données de localisation si vous souhaitez l’exécuter immédiatement. Sinon, le package installé configurera une tâche cron pour exécuter updateb pendant la nuit.
Soit conscient que locate ne vous montre que les fichiers qui toi peut voir. Cela signifie que les fichiers qui se trouvent dans des répertoires auxquels vous n’avez pas accès à la recherche ne seront pas affichés. Mais tu peux toujours sudo locate somefile pour l’exécuter en tant que root, ce qui devrait être capable de localiser n’importe quel fichier sur le système.

コメント

タイトルとURLをコピーしました