versuch gerade eine Version (0.5.24 oder auch master) nativ auf meiner Synology zu kompilieren. Hab mittlerweile den ganzen Build-Stack auf einen aktuelleren Stand gebracht (u.a. gcc 4.8.4). Problem, die std-lib wird nicht gefunden.
Modules/Base/Encoding/../HelperFunctions/Math.h: In member function 'std::string BaseLib::Math::Point2D::toString()':
Modules/Base/Encoding/../HelperFunctions/Math.h:55:35: error: 'to_string' is not a member of 'std'
std::string toString() { return std::to_string(x) + ';' + std::to_string(y); }
^
Sicherlich ist es ganz einfach, und ich muss nur die libstdc++ irgendwo hinkopieren oder eine environemnt variable setzen. Richtig?
erst einmal Respekt! Für die Synology zu kompilieren ist nicht einfach!
Der Compiler findet die Header-Dateien der stdlib nicht. Um sie hinzuzufügen, mach folgendes:
[ul]
[li] Öffne die Datei “premake4.lua”[/li]
[li] Direkt unter
solution "homegear"
configurations { "Release", "Debug", "Profiling" }
für ein:
includedirs
{
"MY_STDLIB_HEADER_DIRECTORY"
}[/li]
[li] Direkt darunter kannst du mit libdirs { "MY_STDLIB_LIBRARY_DIRECTORY" } noch sicherheitshalber den Pfad zur eigentlichen Bibliothek angeben.[/li]
[li] Speichern und “./premake4-armhf gmake” ausführen (falls es eine Synology mit armhf-Befehlssatz ist, die Binary habe ich gerade eben zur 0.5er-Branch hinzugefügt).[/li]
[li] Jetzt solltest du einen Fehler weiter sein - ich helf dir aber gerne bei weiteren Problemen.[/li][/ul]