2017-09-05 4 views
0

J'essaie d'utiliser les bibliothèques d'ondelettes pour C++ (https://sourceforge.net/projects/wavelet2d/files/wavelib-0.4.0.0/) sur mon MacOSx et j'ai du mal à le faire fonctionner.erreur de compilation: bibliothèque non trouvée

Voici ma ligne de commande:

g++ -I /usr/local/include/wavelib -L /usr/local/lib -lwavelet2d testWavelib3.cpp -o testWavelib3 

Je reçois l'erreur suivante:

library not found for -lwavelet2d 

Le fichier de bibliothèque est nommé 'libwavelet2d.so.1' dans le répertoire /usr/local/lib.

Avez-vous des idées?

+0

Êtes-vous sûr que la lib vous avez pour la bonne architecture? Vous devez également déplacer le fichier .cpp devant la bibliothèque dans la liste des arguments –

Répondre

1

Vous mentionnez que vous avez libwavelet2d.so.1 dans /usr/local/lib, mais pas libwavelet2d.so. Généralement, cela signifie que vous avez installé le "package d'exécution" pour cette bibliothèque mais pas le "package de développement". Il devrait y avoir un lien symbolique /usr/local/lib/libwavelet2d.so -> libwavelet2d.so.1.

Vous pouvez faire le lien symbolique vous pour l'essayer:

ln -s libwavelet2d.so.1 /usr/local/lib/libwavelet2d.so 

Au moment de la construction, le fichier sans le suffixe de version (.1) est nécessaire. Lors de l'exécution, seul le fichier suffixé sera référencé.