Found some instructions on
http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef#Add_Boost_to_an_existing_project_in_Code::Blocks
couldn't build it out of the box quite like they said, but I eventually got it compiled doing the following:
had to add "f:\codeblocks\mingw\bin" to sysdm.cpl environment variables path
THEN open command prompt as administrator
then run from boost_1_51_0\tools\build\v2\engine\build.bat
then
set PATH=<path>;%PATH%
then add this bjam to the
bjam --toolset=gcc "--prefix=<installpath>" install
Now when I compile, just adding the simple .hpp libraries, I get weird errors.
F:\CodeBlocks\include\boost\system\error_code.hpp|214|undefined reference to `boost::system::generic_category()'|
Read somewhere I needed to:
add "$(#boost.lib)\libboost_system-mgw44-1_51.a" into "Other linker options". (varies, depends on what your installation produced).
|
which got me past this error, but then I get another compiler error
F:\CodeBlocks\include\boost\thread\detail\thread.hpp|186|undefined reference to `_imp___ZN5boost6thread12start_threadEv'|
so I read:
adding #define BOOST_THREAD_USE_LIB before the include statements for the boost headers"
|
which then gives me this compiler error:
F:\CodeBlocks\include\boost\thread\detail\thread.hpp|186|undefined reference to `boost::thread::start_thread()'|
then I read:
Try:
g++ -static -pthread Thread.cpp -lboost_thread
Libraries must be specified after the objects (or sources) that use symbols from those libraries.
and...
g++ main.cpp -lboost_regex
|
but I don't know how to add this inside codeblocks...
The original instructions (at the top) said to
In your project's build options, highlight the root of your project, select the "Linker settings" tab, and add "boost_*-mgwXX-mt-1_47" to your Link libraries |
which I don't know how to do, is the * supposed to be a word (such as system), I get the xx, which should be 44, but I wasn't successful in adding this to the link libraries in it's current form.
for example, if I add boost_*-mgw44-mt-1_51
I get
ld.exe||cannot find -lboost_*-mgw44-mt-1_51
so apparently I'm missing something here.
all my libraries are formatted as such (albeit different names than just chronos)
libboost_chrono-mgw44-mt-1_51
Edit:
upon further discovery, on the codeblocks forum, I found some additional instructions
http://forums.codeblocks.org/index.php/topic,16783.new.html#new
that don't get me past this error
F:\CodeBlocks\include\boost\thread\detail\thread.hpp|186|undefined reference to `boost::thread::start_thread()'|
Answer:
This lead me to the right direction
http://stackoverflow.com/questions/2066176/static-compile-of-thread-example
g++ -static -pthread Thread.cpp -lboost_thread |
So I did this
settings
compiler & debugger
linker settings
add
F:\CodeBlocks\lib\libboost_regex-mgw44-1_51.a
F:\CodeBlocks\lib\libboost_thread-mgw44-mt-1_51.a
F:\CodeBlocks\lib\libboost_chrono-mgw44-1_51.a
f:\codeblocks\lib\*.a
depends on libraries needed, which depends on your #includes