Custom Script auf TrinityCore funktioniert nicht

03/30/2014 21:24 DEV-Explo.IT#1
Guten Abend Community..

Wollte vorhin anfangen ein paar "Customscripts" (C++) auf meinen Server zu packen.
Bin nach diesem Tutorial vorgegangen (für Linux):
[Only registered and activated users can see links. Click Here To Register...]

Sprich in die ScriptLoader.cpp eingefügt:
Code:
#ifdef SCRIPTS
/* This is where custom scripts' loading functions should be declared. */
void AddSC_professions_npc();
void AddSC_kill_streak();
#endif

void AddCustomScripts(){
#ifdef SCRIPTS
    /* This is where custom scripts should be added. */
    AddSC_professions_npc();
    AddSC_kill_streak();
#endif
}
Im Verzeichnis ../Custom die beiden C++ Scripts eingefügt.
Und auch im selben Verzeichnis die CMakeLists.txt bearbeitet:
Code:
set(scripts_STAT_SRCS
  ${scripts_STAT_SRCS}
Custom/professions_npc.cpp
Custom/kill_streak.cpp
)

message("  -> Prepared: Custom")
Dann ins Verzeichnis ../TrinityCore/build gewechselt und compiliert.
Code:
cmake ../ -DPREFIX=/home/trinity/server -DWITH_WARNINGS=1

make
Dann trat folgender Fehler auf:
Code:
../game/libgame.a(ScriptLoader.cpp.o): In function `AddScripts()':
ScriptLoader.cpp:(.text+0xee1): undefined reference to `AddSC_professions_npc()'
../game/libgame.a(ScriptLoader.cpp.o): In function `AddCustomScripts()':
ScriptLoader.cpp:(.text+0xf75): undefined reference to `AddSC_professions_npc()'
../game/libgame.a(ScriptLoader.cpp.o): In function `AddScripts()':
ScriptLoader.cpp:(.text+0xeea): undefined reference to `AddSC_kill_streak()'
../game/libgame.a(ScriptLoader.cpp.o): In function `AddCustomScripts()':
ScriptLoader.cpp:(.text+0xf7e): undefined reference to `AddSC_kill_streak()'
collect2: error: ld returned 1 exit status
make[2]: *** [src/server/worldserver/worldserver] Fehler 1
make[1]: *** [src/server/worldserver/CMakeFiles/worldserver.dir/all] Fehler 2
make: *** [all] Fehler 2


Weiß jemand Rat? Habe vieles Ausprobiert, es lief aber immer auf den selben Fehler zurück!
04/01/2014 03:49 zadika#2
Code:
void AddSC_yourcode();
AddSC_yourcode();
sollte ausreichen.... hättest aber auch in skype fragen können hättest dir die wartezeit hier im forum erspart

dennoch stell ich mir die frage wieso du diesen befehl zum konfigurieren nutzt?

Code:
cmake ../ -DPREFIX=/home/trinity/server -DWITH_WARNINGS=1
der hier würde es auch tun

Code:
cmake .. -DCMAKE_INSTALL_PREFIX=/home/trinity/server