Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin SVN r4638, r4630- linux compile error
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

savour

I am trying to compile Dolphin SVN r4628 according to http://code.google.com/p/dolphin-emu/wik...pendencies, (lua-dev is missing from the dependencies command).
I am using Ubuntu 9.04 x64, and the gcc version is :
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)

I am getting the following error :

Code:
...
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp: In function 'void WII_IPC_HLE_Interface::Reset(bool)':
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:118: error: no matching function for call to 'std::map<unsigned int, IWII_IPC_HLE_Device*, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> > >::erase(std::_Rb_tree_const_iterator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >&, std::_Rb_tree_iterator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >)'
/usr/include/c++/4.3/bits/stl_map.h:522: note: candidates are: void std::map<_Key, _Tp, _Compare, _Alloc>::erase(typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator) [with _Key = unsigned int, _Tp = IWII_IPC_HLE_Device*, _Compare = std::less<unsigned int>, _Alloc = std::allocator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >]
/usr/include/c++/4.3/bits/stl_map.h:537: note:                 typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::size_type std::map<_Key, _Tp, _Compare, _Alloc>::erase(const _Key&) [with _Key = unsigned int, _Tp = IWII_IPC_HLE_Device*, _Compare = std::less<unsigned int>, _Alloc = std::allocator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >]
/usr/include/c++/4.3/bits/stl_map.h:552: note:                 void std::map<_Key, _Tp, _Compare, _Alloc>::erase(typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator, typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator) [with _Key = unsigned int, _Tp = IWII_IPC_HLE_Device*, _Compare = std::less<unsigned int>, _Alloc = std::allocator<std::pair<const unsigned int, IWII_IPC_HLE_Device*> >]
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp: In function 'void WII_IPC_HLE_Interface::Update()':
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:429: warning: NULL used in arithmetic
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:438: warning: NULL used in arithmetic
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:450: warning: declaration of '_Reply' shadows a previous local
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:428: warning: shadowed declaration is here
Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp:451: warning: NULL used in arithmetic
scons: *** [Build/Linux-x86_64-release/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.o] Error 1

Googling the error i found, the following posts.
http://gcc.gnu.org/ml/gcc-help/2006-09/msg00322.html
http://www.mail-archive.com/gcc-bugs@gcc...70583.html
I am not sure if they are related.

Any help would be appreciated my c++ skills are not at a good state.

LuisR14

i believe that that is fixed in 4629 Smile

savour

Yes indeed, it was fixed, i updated to r4630
I run into the following error.

Compiling shared Build/Linux-x86_64-release/Source/Plugins/Plugin_Wiimote/Src/FillReport.os
Source/Plugins/Plugin_Wiimote/Src/FillReport.cpp: In function 'int WiiMoteEmu::GetMapKeyState(int)':
Source/Plugins/Plugin_Wiimote/Src/FillReport.cpp:305: error: 'GetAsyncKeyState' was not declared in this scope
scons: *** [Build/Linux-x86_64-release/Source/Plugins/Plugin_Wiimote/Src/FillReport.os] Error 1
scons: building terminated because of errors.
clean your solution and then try rebuilding your solution and see if that works.
When I try to build revision 4630 on x86_64 Linux, I get
Code:
Compiling shared Build/Linux-x86_64-release/Source/Plugins/Plugin_Wiimote/Src/FillReport.os
Source/Plugins/Plugin_Wiimote/Src/FillReport.cpp: In function 'int WiiMoteEmu::GetMapKeyState(int)':
Source/Plugins/Plugin_Wiimote/Src/FillReport.cpp:305: error: 'GetAsyncKeyState' was not declared in this scope
scons: *** [Build/Linux-x86_64-release/Source/Plugins/Plugin_Wiimote/Src/FillReport.os] Error 1
scons: building terminated because of errors.
GetAsyncKeyState looks like a WindowsAPI function to me