[CMake] Fw : Linking boost failure

Michael Jackson mike.jackson at bluequartz.net
Wed Dec 10 13:16:27 EST 2008


the FindBoost is looking for a very specific filename for the boost  
libraries. If your libraries are NOT named the way FindBoost is  
configured then FindBoost will simply not find the libraries even  
though the libraries do exist.
   Did you build boost yourself or download the prebuilt libraries  
from BoostPro? I think your libraries need to have at least the -d- on  
them for the debug builds and also probably the boost version number  
in the file name also.

You can usually use a later version of boost but there are no  
guarantees that some boost API was changed between the 1.34 and the  
1.36 releases.

You may also want to update to the latest CMake 2.6.2 as there were  
some bug fixes for the FindBoost module.

---
Mike Jackson                 www.bluequartz.net

On Dec 10, 2008, at 1:00 PM, kafou nmento wrote:

> I tried your lines in my CMakelists. I use the 1.34.1 version of  
> boost. The components I set are : thread, filesystem, date_time,  
> pogram_options, regex
> But I got these errors while configuring
> CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/ 
> FindBoost.cmake:620 (message):
> Unable to find the requested Boost libraries.
> Boost version: 1.34.1
> Boost include path: C:/Program Files/boost/boost_1_34_1
> The following Boost libraries could not be found:
> boost_thread
> boost_filesystem
> boost_date_time
> boost_program_options
> boost_regex
> No Boost libraries were found. You may need to set Boost_LIBRARYDIR  
> to the
> directory containing Boost libraries or BOOST_ROOT to the location of
> Boost.
> Call Stack (most recent call first):
> CMakeLists.txt:65 (FIND_PACKAGE)
>
> So I guess my boost library is not porperly installed. But why it  
> works with MSVC?
> What can I do? I already re-installed boost.
> A bit question, does it matter if I use latest version of boost if  
> my app was built using older version of boost?
>
> Thanks in advance for help (^_^)
>
> --- En date de : Mer 10.12.08, Michael Jackson <mike.jackson at bluequartz.net 
> > a écrit :
> De: Michael Jackson <mike.jackson at bluequartz.net>
> Objet: Re: [CMake] Fw : Linking boost failure
> À: "Cmake Mailing List" <cmake at cmake.org>
> Date: Mercredi 10 Décembre 2008, 17h42
>
> Are you using the FindBoost() command in your CMakeLists.txt file?  
> If not you
> really should be as this will solve all your problems. An example  
> from one of my
> own projects is:
>
> SET (Boost_FIND_REQUIRED TRUE)
> SET (Boost_FIND_QUIETLY FALSE)
> FIND_PACKAGE(Boost 1.36 COMPONENTS program_options system filesystem)
> INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})  # Include the Boost  
> Headers
> LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
>
> .....
>
> ADD_EXECUTABLE(PVPluginGenerator ${SOURCES} ${HEADERS})
> TARGET_LINK_LIBRARIES(PVPluginGenerator  ${Boost_LIBRARIES})
>
> Boost_LIBRARIES will contain all the selected boost libraries for  
> each platform
> you compile on.
>
> _________________________________________________________
> Mike Jackson                  mike.jackson at bluequartz.net
> BlueQuartz Software                    www.bluequartz.net
> Principal Software Engineer                  Dayton, Ohio
>
>
>
> On Dec 10, 2008, at 11:36 AM, kafou nmento wrote:
>
> > Sorry, I didn't finish the message.
> > So, here are the libs which make the app work with MSVC:
> >      libboost_thread-vc-mt.lib
> >      libboost_filesystem-vc-mt.lib
> >      libboost_date_tim-vc-mt.lib
> >      libboost_program_options-vc-mt.lib
> >      libboost_regex-vc-mt.lib
> >
> > And from building libs with MinGW I got:
> >      libboost_thread-mt.a
> >      libboost_filesystem-mt.a
> >      libboost_date_tim-mt.a
> >      libboost_program_options-mt.a
> >      libboost_regex-mt.a
> >
> > I put it as argument of TARGET_LIKN_LIBRARIES() , but the link still
> fails.
> >
> > --- En date de : Mer 10.12.08, David Cole <david.cole at kitware.com> a
> écrit :
> > De: David Cole <david.cole at kitware.com>
> > Objet: Re: [CMake] Fw : Linking boost failure
> > À: ngondorolf at yahoo.fr
> > Cc: cmake at cmake.org
> > Date: Mercredi 10 Décembre 2008, 15h29
> >
> > target_link_libraries is a cmake command. It works everywhere and is
> portable everywhere there's a cmake...
> >
> > You should definitely rely on target_link_libraries rather than  
> pragmas in
> header files to pull in necessary libraries for linking.
> >
> >
> > On Wed, Dec 10, 2008 at 5:39 AM, kafou nmento <ngondorolf at yahoo.fr>
> wrote:
> > I want to add an information. I intend to switch on Mac OS so I  
> have to
> use only portable tools.
> >
> > Thanks again
> >
> > --- En date de : Mar 9.12.08, kafou nmento <ngondorolf at yahoo.fr> a
> écrit :
> > De: kafou nmento <ngondorolf at yahoo.fr>
> > Objet: [CMake] Linking boost failure
> > À: cmake at cmake.org
> > Date: Mardi 9 Décembre 2008, 18h09
> >
> > Hi all!
> > I'm compiling a Qt based libtorrent app with CMake using MinGW
> generator. For those not knowing libtorrent, it is a lib fully boost  
> based.
> (boost version used 1.34.1).
> > 100% of the build goes well. But at the linking it fails with  
> errors like
> "undefined reference to boost::....". The most recurrent is
> boost::mutex related.
> > I'm on Windows XP.
> > The same app works fine with MSVC 2008. I used for both Visual and  
> CMake
> the same libs and preprocessor definition.
> >
> > If some one can help me (^_^)
> >
> > Thanks to all in advance.
> >
> > _______________________________________________
> > CMake mailing list
> > CMake at cmake.org
> > http://www.cmake.org/mailman/listinfo/cmake
> >
> >
> > _______________________________________________
> > CMake mailing list
> > CMake at cmake.org
> > http://www.cmake.org/mailman/listinfo/cmake
> >
> >
> > _______________________________________________
> > CMake mailing list
> > CMake at cmake.org
> > http://www.cmake.org/mailman/listinfo/cmake
>
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>



More information about the CMake mailing list