Domanda

Sto usando autoconf per rilevare le librerie Boost, con il sostegno della autoconf- macro archivio e funzionano bene con le librerie Boost a livello di sistema, ma non riescono se spinta compilazione manualmente nella mia home directory:

sb@stephane:~/devel/spectra2$ ./configure --with-boost=/home/sb/local/
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for library containing strerror... none required
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for boostlib >= 1.31.0... yes
checking whether the Boost::Program_Options library is available... yes
checking for exit in -lboost_program_options... yes
checking whether the Boost::Filesystem library is available... yes
checking for exit in -lboost_filesystem... no
checking for exit in -lboost_filesystem... (cached) no
checking for exit in -lboost_filesystem... (cached) no
configure: error: Could not link against boost_filesystem !

Come si può vedere, rileva alcune librerie bene, ma non riesce con boost-filesystem. Questi sono i contenuti di ~ / / lib locale:

sb@stephane:~$ ls -1 /home/sb/local/lib/
libboost_filesystem.a
libboost_filesystem.so
libboost_filesystem.so.1.42.0
libboost_program_options.a
libboost_program_options.so
libboost_program_options.so.1.42.0
libboost_system.a
libboost_system.so
libboost_system.so.1.42.0
libboost_thread.a
libboost_thread.so
libboost_thread.so.1.42.0

Quindi, la biblioteca è lì. Ho provato sia con spinta-1.39 e spinta-1,42 senza alcun risultato diverso, qualche idea del perché sta succedendo questo? Ho dimenticato qualcosa?

È stato utile?

Soluzione

Dal spinta-1.39 libboost_filesystem dipende libboost_system. Prima di 1.39 si poteva solo un collegamento a boost_filesystem, nelle versioni successive è necessario collegare a entrambi.

Forse ha qualcosa a che fare con il vostro errore.

Altri suggerimenti

boost.m4 ad essere molto più robusto di quanto le macro Boost disponibili dal macro Autoconf Archive. Si può avere la fortuna semplicemente la migrazione a boost.m4.

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