Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
gcc4.7 can't build codeblocks
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