ich habe gerade ein nur moderat spannendes Problem mit Splatter auf Linux. Inzwischen kompilieren alle statisch gelinkten Bibliotheken durch und produzieren .a-Dateien. Die gebe ich dann im exe-erstellenden Projekt an. Die Kommandozeile sieht stark gekürzt in etwa so aus:
Code: Alles auswählen
g++ -o ../../Splatter/Spiel_debug
// Object Files des Executable-Projekts
../../obj/Spiel.pro_debug/ArcadePauseMenu.o ../../obj/Spiel.pro_debug/ArcadeSurvivalModus.o ...usw...
// prebuilt libs
/home/ulf/projekte/Splatter/Source/Spiel/../../SourceExt/Extern/boost/lib/libboost_filesystem.a ...usw...
// globale Deps
-lpthread -lX11
// vorher in anderen Projekten gebaute Libs
/home/ulf/projekte/Splatter/Source/Spiel/../../libs/libangelscript.pro_debug.a
Und richtig seltsam wird es zwischendurch, wenn der Linker eine Funktion aus einer der mitgebauten Libs findet und linkt, aber eine statische Konstante aus derselben Klasse nicht findet. Also beispielhaft so:
Code: Alles auswählen
class Bla {
static const size_t Konstante = 0x3fffffff;
void TuWas() { MachWoanders( Konstante); }
}
Hat irgendwer von euch eine Idee? Umgebung ist eine 32Bit-VM mit Ubuntu 14.10 und GCC 4.9.1 oder so.