Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

gcc4.7 can't build codeblocks

<< < (4/12) > >>

reckless:
Been having some problems getting 4.7.0 stable on windows atleast good to hear it works on other architectures.
Sources that dont use libstdc++ work ok but those using libstdc++ crash with initialization error 0x000005.

xunxun:

--- Quote from: reckless on April 17, 2012, 09:14:34 pm ---Been having some problems getting 4.7.0 stable on windows atleast good to hear it works on other architectures.
Sources that dont use libstdc++ work ok but those using libstdc++ crash with initialization error 0x000005.


--- End quote ---
It's strange.
Can you try -static linker option to make libstdc++ static link?
I haven't come across the problem.

headkase:

--- Quote from: reckless on April 17, 2012, 09:14:34 pm ---Been having some problems getting 4.7.0 stable on windows atleast good to hear it works on other architectures.
Sources that dont use libstdc++ work ok but those using libstdc++ crash with initialization error 0x000005.


--- End quote ---

What compiler toolchain are you using on Windows?  I'm using this GCC 4.7.0:

Here

It comes in x86 and x86_64 flavors.  However, x86 will compile to x86_64 and vice-versa.  Which one you download therefore doesn't actually matter other than having one architecture the default.  Using this compiler toolchain on Windows: you have to manually point Code::Blocks at the toolchain executables - they aren't named as C::B expects them to be.

But, I'm not compiling C::B on Windows, I use the Nightlies there, - I'm just asking what toolchain you are using on Windows.

Edit: one thing to notice about those builds: there is no dwarf variant in the newest versions.  They are all sjlj variants.  That is because:


--- Quote ---for windows OS, dwarf is a foreign way to implement the exceptions. It can not work correctly in windows because the implementation of С++ and C(SEH) exceptions in MSVC compiler uses SJLJ. Due to this fact, are introduced subtle bugs coming from the destruction of the stack and throwing/catching of exceptions between dll-modules.
--- End quote ---

xunxun:

--- Quote from: headkase on April 17, 2012, 09:55:26 pm ---
Edit: one thing to notice about those builds: there is no dwarf variant in the newest versions.  They are all sjlj variants.  That is because:


--- Quote ---for windows OS, dwarf is a foreign way to implement the exceptions. It can not work correctly in windows because the implementation of С++ and C(SEH) exceptions in MSVC compiler uses SJLJ. Due to this fact, are introduced subtle bugs coming from the destruction of the stack and throwing/catching of exceptions between dll-modules.
--- End quote ---


--- End quote ---

mingw-build builds use multiple lib (32bit and 64bit), so he ( author is nixman ) must use sjlj to make gcc work.

In general, I like gcc with no multiple lib, so I build dw2 in win32 toolchain (official mingw also use dw2), and build sjlj in win64 toolchain.

headkase:

--- Quote from: xunxun on April 17, 2012, 10:39:12 pm ---mingw-build builds use multiple lib (32bit and 64bit), so he ( author is nixman ) must use sjlj to make gcc work.

In general, I like gcc with no multiple lib, so I build dw2 in win32 toolchain (official mingw also use dw2), and build sjlj in win64 toolchain.

--- End quote ---

I believe you.  :P ;)  That particular toolchain, the one I linked, is the one I'm using now although because the official MinGW (32 bit only), Here, only has GCC 4.6.2 as of this moment.  There is also a 64-bit MinGW: Here but I've never used that one - just have it bookmarked.  :)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version