Error

BlitzMax Modules Forums/MiniB3D/Error

I keep getting this error and I do not know why. All I am doing is trying to compile the firepaint example.
F:/Program Files/BlitzMax/lib/libstdc++.a(tree.o):tree.cc:(.text+0xd0): multiple definition of `std::_Rb_tree_rotate_left(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*&)'
F:/Program Files/BlitzMax/mod/sidesign.mod/minib3d.mod/minib3d.release.win32.x86.a(cfuncs.cpp.release.win32.x86.o):cfuncs.cpp:(.text$_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_[__ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_]+0x0): first defined here
F:/Program Files/BlitzMax/lib/libstdc++.a(tree.o):tree.cc:(.text+0x120): multiple definition of `std::_Rb_tree_rotate_right(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*&)'
F:/Program Files/BlitzMax/mod/sidesign.mod/minib3d.mod/minib3d.release.win32.x86.a(cfuncs.cpp.release.win32.x86.o):cfuncs.cpp:(.text$_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_[__ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_]+0x0): first defined here
F:/Program Files/BlitzMax/mod/sidesign.mod/minib3d.mod/minib3d.release.win32.x86.a(cfuncs.cpp.release.win32.x86.o):cfuncs.cpp:(.text+0x16): undefined reference to `std::__default_alloc_template<true, 0>::allocate(unsigned int)'
F:/Program Files/BlitzMax/mod/sidesign.mod/minib3d.mod/minib3d.release.win32.x86.a(cfuncs.cpp.release.win32.x86.o):cfuncs.cpp:(.text$_ZNSt8_Rb_treeI6VectorSt4pairIKS0_S0_ESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E[__ZNSt8_Rb_treeI6VectorSt4pairIKS0_S0_ESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E]+0x24): undefined reference to `std::__default_alloc_template<true, 0>::deallocate(void*, unsigned int)'
F:/Program Files/BlitzMax/mod/sidesign.mod/minib3d.mod/minib3d.release.win32.x86.a(cfuncs.cpp.release.win32.x86.o):cfuncs.cpp:(.text$_ZNSt8_Rb_treeI6VectorSt4pairIKS0_S0_ESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE9_M_insertEPSt18_Rb_tree_node_baseSB_RKS3_[__ZNSt8_Rb_treeI6VectorSt4pairIKS0_S0_ESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE9_M_insertEPSt18_Rb_tree_node_baseSB_RKS3_]+0x1c): undefined reference to `std::__default_alloc_template<true, 0>::allocate(unsigned int)'
F:/Program Files/BlitzMax/mod/sidesign.mod/minib3d.mod/minib3d.release.win32.x86.a(cfuncs.cpp.release.win32.x86.o):cfuncs.cpp:(.text$_ZNSt8_Rb_treeI6VectorSt4pairIKS0_S0_ESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE9_M_insertEPSt18_Rb_tree_node_baseSB_RKS3_[__ZNSt8_Rb_treeI6VectorSt4pairIKS0_S0_ESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE9_M_insertEPSt18_Rb_tree_node_baseSB_RKS3_]+0xd6): undefined reference to `std::__default_alloc_template<true, 0>::allocate(unsigned int)'
F:/Program Files/BlitzMax/mod/sidesign.mod/minib3d.mod/minib3d.release.win32.x86.a(cfuncs.cpp.release.win32.x86.o):cfuncs.cpp:(.text$_ZNSt14__simple_allocISt13_Rb_tree_nodeISt4pairIK6VectorS2_EESt24__default_alloc_templateILb1ELi0EEE10deallocateEPS5_j[__ZNSt14__simple_allocISt13_Rb_tree_nodeISt4pairIK6VectorS2_EESt24__default_alloc_templateILb1ELi0EEE10deallocateEPS5_j]+0x14): undefined reference to `std::__default_alloc_template<true, 0>::deallocate(void*, unsigned int)'


Oooh. Your version of BlitzMax is not the same as the version of a static library you are trying to build against.

A Rebuild All Modules should sort it out, along with a non-Quick build of the App (possibly).

I rebuilt all modules and I still get the same error.

I'm getting the same error. I tried synchronise modules, and have built and rebuilt all modules several times to see if it would fix the issue - but it hasn't. I have also tried compiling the example MiniB3D programs with various options turned on and off, but that hasn't worked either.

I'm using MiniB3D v0.452 which I downloaded today from the sticky post at the top of the MiniB3D forum.

Try getting a newer version of libstdc++ or upgrade mingw?

I figured out that the problem is the c++ files. Read the readme.txt to know how to take out all of the c++ files.

i was having similar problems until I updated MingW to 5.1.3 I was CONVINCED that I had the latest version until i re-downloaded it again recently

In the next version the C++ files will not be optional, so try and get them working if you can!

definetly check out MingW even if you think you have the latest version

definetly check out MingW even if you think you have the latest version

I did and I still get the same error.

In the next version the C++ files will not be optional

The anticipation grows!

I did and I still get the same error.

The error is specifically due to a difference between the linker used to build the module, and the one you are using to compile the application.

Things that can cause this :

* Versions of BlitzMax prior to 1.28, sync'd. Sometimes running the 1.28 Updater twice can help to get everything installed properly (remembering to run syncmods afterwards).
* An updated installation of MinGW - like over the top of a previous version. You need a fresh install of 5.1.3.

HTH