Domanda

Ok, ho aggiunto alcune funzionalità a una libreria Linux.

Tuttavia, anche dopo 'make install' il programma che sto cercando di funzionalità conferma è il collegamento alla versione precedente.

'make install' mette qui le mie librerie: '/ Usr / local / lib' e '/ Usr / local / include'

ho usato il seguente su di configurazione: ./configure-maintainer-mode --enable --enable-disinstallato-build 'CFLAGS = -g -O0' 'CXXFLAGS = -g -O0' 'JFLAGS = -g -O0' 'fFlags = -g -O0' CPPFLAGS = '- L / usr / local / lib / -I /usr/local/include/gpod-1.0 /'

Ma quando provo ad eseguire il programma ottengo 'simbolo non trovato' e 'plugin non può caricare'

Quando ho LDD il prodotto plugin in modo: ~ / Sviluppo / rhythmbox / plugins / ipod / .libs $ ldd libipod.so

linux-gate.so.1 => (0x00d97000)

librhythmbox-core.so.1 => /home/gary/Development/rhythmbox/shell/.libs/librhythmbox core.so.1 (0x009ad000)

libgpod.so.4 => /usr/lib/libgpod.so.4 (0x00509000)

L'enfasi di essere sottolineato perché è, ovviamente, che collega alla libreria sbagliato ... Quando guardo nel file make vedo il seguente:

IPOD_CFLAGS = -pthread -I / usr / local / include / GPOD-1.0 -I / usr / include / glib-2.0 -I / usr / lib / glib-2.0 / include -I / usr / include / gdk- pixbuf-2.0 -I / usr / include / libpng12

IPOD_LIBS = -pthread -L / usr / local / lib -lgpod -lgdk_pixbuf-2.0 -lm -lgobject-2.0--lgmodule 2.0 -lpng12 -lgthread-2.0 -lrt -lglib-2.0

Così i CPPFLAGS vengono passati attraverso il plugin, e in .deps vedo il file di intestazione corretta essere inclusi ... IE:

~ / Sviluppo / rhythmbox / plugins / ipod / .deps $ meno rb-ipod-source.Po | grep GPOD

/usr/local/include/gpod-1.0/gpod/itdb.h ../../lib/eel-gconf-extensions.h

/usr/local/include/gpod-1.0/gpod/itdb.h:

Ubuntu 10.10

Tutte le idee?

È stato utile?

Soluzione

È necessario LD_RUN_PATH insieme a /usr/local/lib prima di eseguire configure e make. Ciò incorporare /usr/local/lib come un percorso di ricerca della libreria condivisa in eseguibile.

Altri suggerimenti

libgpod.so punta alla vecchia versione della libreria.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top