<div dir="ltr">Hi,<div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 23, 2013 at 6:47 AM, Michael George Hart <span dir="ltr"><<a href="mailto:michael.george.hart@gmail.com" target="_blank">michael.george.hart@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Anyone care to take a guest what happen this week. I last weeks git pull of Kdevelop built without incident... anyone care to take a guess about what happened?<br>
<br>Linking CXX executable gdbtest<br>CMakeFiles/gdbtest.dir/registers/registersmanager.o: In function `GDBDebugger::ArchitectureParser::parseArchitecture()':<br>
/home/XMan/Documents/Projects/Kdevelop/src/kdevelop/debuggers/gdb/registers/registersmanager.cpp:55: undefined reference to `GDBDebugger::ArchitectureParser::architectureParsed(GDBDebugger::(anonymous namespace)::Architecture)'<br>
CMakeFiles/gdbtest.dir/gdbtest_automoc.o: In function `GDBDebugger::RegistersManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)':<br>/home/XMan/Documents/Projects/Kdevelop/src/kdevelop/build/debuggers/gdb/moc_registersmanager.cpp:137: undefined reference to `GDBDebugger::RegistersManager::architectureParsedSlot(GDBDebugger::(anonymous namespace)::Architecture)'<br>
collect2: error: ld returned 1 exit status<br>make[2]: *** [debuggers/gdb/gdbtest] Error 1<br>make[1]: *** [debuggers/gdb/CMakeFiles/gdbtest.dir/all] Error 2<br>make: *** [all] Error 2</div></blockquote><div><br></div><div>
I'd say someone used either a very new or somewhat older compiler (or didn't compile the code at all before comitting). The unnamed namespace for the enum apparently either confuses the compiler or moc (which then generates non-matching code). This happened for me with gcc 4.8.</div>
<div><br></div><div>I've fixed that now by removing that useless namespace, a slightly nicer (but more work-intensive) fix would be to move the enum into one of the classes.</div><div><br></div><div>Andreas</div></div>
</div></div>