std::chrono::high_resolution_clock funktioniert nicht mit Linux (SteamOS)
-
OK, ging doch schneller als gedacht.
Die Konsolenanwendung unter Linux funktioniert korrekt. Die Zeitmessung klappt.Jetzt bin ich komplett ratlos. Ich könnte evtl. mal noch die Konsolenanwendung direkt unter SteamOS starten.
Hatte jetzt nur Ubuntu in einer VM laufen.
-
Unter SteamOS gibt es einen Fehler, der im Terminal so aussieht:
./a.out: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.19' not found (required by ./a.out)
-
Na dann geht ihm wohl ne DLL ab.
(Sorry, konnt' mir jetzt nicht verkneifen DLL statt SO zu schreiben)
-
Du erzeugst eine Art Plugin für die Spieleengine?
Wurde die mit der gleichen g++-Version und auch mit c++-11 übersetzt?
-
Bei ner extern "C" Funktion die keine Parameter nimmt und nen float zurückgibt sollte das doch eigentlich noch egal sein, nen?
OK, Exceptions sollte sie auch keine werfen.
-
So ein Plugin ist nicht weiter wild. Kompiliert habe ich es mit g++ 4.9.
Und da zickt anscheinend SteamOS. Ubuntu hat damit kein Problem.
-
Doofkopp schrieb:
So ein Plugin ist nicht weiter wild. Kompiliert habe ich es mit g++ 4.9.
Und da zickt anscheinend SteamOS. Ubuntu hat damit kein Problem.Wenn das ein plugin für unity3D ist, dann sollte das plugin mit der gleichen compiler version kompiliert werden wie unity3D (Sollte eigentlich von unity3D irgendwo dokumentiert sein)
-
Doofkopp schrieb:
So ein Plugin ist nicht weiter wild. Kompiliert habe ich es mit g++ 4.9.
Und da zickt anscheinend SteamOS. Ubuntu hat damit kein Problem.Die libstdc++ ist auf dem SteamOS zu alt (d.h. unterstützt den g++4.9 nicht). Ob man c++-03 und c++-11 mischen kann weiß ich nicht.
-
hustbaer schrieb:
Bei ner extern "C" Funktion die keine Parameter nimmt und nen float zurückgibt sollte das doch eigentlich noch egal sein, nen?
OK, Exceptions sollte sie auch keine werfen.Wenn der enthaltene C++-Code nicht unterstützt wird, hilft es nicht.
Ansonsten kann ich es nicht sagen.
-
Ist es denn nicht gerade Sinn und Zweck von Plugins, dass die verwendete Sprache bzw. deren Version keine Rolle spielt?
Unter Windows kann ich ja auch eine DLL mit Delphi erstellen und die mit Unity verbinden. Was ich auch schon getan habe.
-
Die Bemerkung von manni66 erscheint mir nachvollziehbar. Denn als ich den Code der Bibliothek als Konsolenanwendung kompiliert hatte, funktionierte es reibungslos unter Ubuntu, unter SteamOS jedoch nicht.
Ich werde einfach warten müssen, bis sich Valve bemüht hat, da noch Aktualisierungen einzubinden.
-
Ich weiss nicht was "enthaltener C++ Code wird nicht unterstützt" bedeuten soll.
Dem Freun Kollegen SteamOS geht nen SO ab. Umstellen auf Runtime statisch linken und die Sache sollte gegessen sein.
NichtBzw. ansonsten das GLIBCXX_3.4.19 File halt einfach mit ausliefern (+ evtl. weitere nötige SOs).
Valve kann ja schliesslich nicht alle paar Tage nen SteamOS Update machen, nur weil irgend ein Compiler wieder ne neue Runtime Library Version bekommen hat.