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