Aktuelle Zeit: 15.11.2018 12:05

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: lua statische Lib
BeitragVerfasst: 07.08.2017 15:25 
Offline
Benutzeravatar

Registriert: 15.03.2007 21:47
Moin,
für ein Projekt benötige ich lua als statische Lib (DLL kommt nicht in Frage). Vor geraumer Zeit gab es hier mal etwas von realsource.de. Leider finde ich auf der Seite nichts mehr dazu.

Kann mir jemand weiterhelfen?

_________________
Kostenfreier Setup Creator | RCon Tool für DayZ

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 07.08.2017 17:35 
Offline

Registriert: 29.08.2004 13:18
einfach über
https://www.lua.org/
auf
http://lua-users.org/wiki/LuaBinaries
dann hierhin:
http://luabinaries.sourceforge.net/
und nach ein paar klicks hier hin:
https://sourceforge.net/projects/luabin ... Libraries/

Such dir eine passende Version raus :)

_________________
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 07.08.2017 17:46 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Von ts-soft:
http://www.rsbasic.de/backupprogramme/t ... 5.1.32.rar
http://www.rsbasic.de/backupprogramme/temp/lua50x64.rar
http://www.rsbasic.de/backupprogramme/temp/Lua51.rar
http://www.rsbasic.de/backupprogramme/temp/Lua52.rar
http://www.rsbasic.de/backupprogramme/temp/LuaJit.rar

_________________
BildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 08.08.2017 00:44 
Offline
Benutzeravatar

Registriert: 15.03.2007 21:47
Ich habe mir gerade die statische Lib der neusten Lua-Version gezogen. In PureBasic erhalte ich beim Einbinden zahlreiche Linker-Fehler. Liegt dies daran, dass die statische Lib von Lua nicht mit VC++6 kompiliert wurde?
Ich habe auch eine ältere Version von Lua heruntergeladen, da es hierfür eine in VC++6 komplierte statische Bibliothek gibt. Merkwürdigerweise erhalte ich dennoch Linker-Fehler.
Bei der von ts-soft mit VC++6 kompilierten Version von Lua 5.2 scheint es keine Probleme zu geben.

Wie kann das sein?

_________________
Kostenfreier Setup Creator | RCon Tool für DayZ

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 08.08.2017 13:32 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
32/64bit Version?

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 08.08.2017 13:36 
Offline

Registriert: 29.08.2004 13:18
Leider sind die Libs abhängig von Standard-Zeug, das von den Compiler-Bibliotheken her kommen. Die werden wohl nicht mitgelinkt, weil das in Hauptprogramm erfolgt.

Ich hab jetzt mal versucht, mit Pelle-C eine LIB zu erzeugen, aber dann fehlen den Linker "__stdo" "__local" und noch eine. Ich hab zwar die Lib in Pelles-C finden können, wo die definiert werden, anschließend lässt sich aber das PB-Programm nicht mehr starten. Ich schätze mal, da beißt sich irgenwas.

Ich vermute, das die Fehler mit der Standard-Ausgabe/Fehlerkanal zu tun hat. Man müsste da alles aus der LUA-Library entfernen, dann könnte es klappen. Aber so gut kenn ich mich in LUA-Sourcecode nicht aus und von den Bibliotheken von Pelle-C hab ich noch weniger Ahnung. Es wäre hilfreich, was die einzelnen Links bedeuten.

Auch praktisch wäre, wenn man wüsste, wie ts-Soft die libs erstellt hat.

_________________
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 08.08.2017 21:10 
Offline
Benutzeravatar

Registriert: 15.03.2007 21:47
Wieso mit Pelle-C? Du solltest die Lib mit VC++6 kompilieren. Ich werde das demnächst ausprobieren.

_________________
Kostenfreier Setup Creator | RCon Tool für DayZ

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 08.08.2017 21:36 
Offline

Registriert: 29.08.2004 13:18
X0r hat geschrieben:
Wieso mit Pelle-C? Du solltest die Lib mit VC++6 kompilieren. Ich werde das demnächst ausprobieren.


<hust> sollte?

Ich hab kein VC6++ von daher kann ich da auch rein gar nichts testen. Aber LUA ist strikt in ANSI-C geschrieben und imo der Linker von PB ja von Pelle. Prinzipell geht es ja, es wird eine LIB erzeugt.

Vorallen möchte ich eine 64-Bit LUA. Oder besteht das Problem mit Quads als rückgabewert nur mit Prototypen?

_________________
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 08.08.2017 23:05 
Offline
Benutzeravatar

Registriert: 15.03.2007 21:47
So, hab es gerade mit VC++6 getestet, hier das Ergebnis:

ts-soft hat lua über die Option /MD kompiliert. Damit wird die VCRT nicht statisch eingebunden...
Ist bei VC++6 wohl kein Problem, da die Laufzeitbibliotheken hierfür auf jedem Windows, zumindest ab Windows XP, vorinstalliert sein sollten.
Kompiliere ich lua über /MT (statisches Linken gegen VCRT), so ergeben sich bei der Nutzung in PureBasic wieder Linker-Fehler:

Zitat:
POLINK: error: Unresolved external symbol '___mb_cur_max'.
POLINK: error: Unresolved external symbol '__pctype'.
POLINK: error: Unresolved external symbol '__HUGE'.
POLINK: fatal error: 3 unresolved external(s).


Letztlich komme ich wohl nicht drum herum, zumindest die VCRT dynamisch und nicht statisch einzubinden.

_________________
Kostenfreier Setup Creator | RCon Tool für DayZ

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: lua statische Lib
BeitragVerfasst: 15.08.2017 03:59 
Offline
Benutzeravatar

Registriert: 28.07.2005 12:39
GPI hat geschrieben:
X0r hat geschrieben:
Wieso mit Pelle-C? Du solltest die Lib mit VC++6 kompilieren. Ich werde das demnächst ausprobieren.


<hust> sollte?

Ich hab kein VC6++ von daher kann ich da auch rein gar nichts testen. Aber LUA ist strikt in ANSI-C geschrieben und imo der Linker von PB ja von Pelle. Prinzipell geht es ja, es wird eine LIB erzeugt.

Vorallen möchte ich eine 64-Bit LUA. Oder besteht das Problem mit Quads als rückgabewert nur mit Prototypen?


Das funktioniert auch ganz gut mit Pelles C. X0r hat aber bereits darauf hingewiesen das es es nur dynamisch funktioniert. Das mag unter VC6 nicht auffallen weil die Bibliotheken eh alle vorhanden sind, bei Pelles C aber nicht, da benoetigst du die Runtime (pocrt64.dll) im Pfad.

Stell die Option auf Multithreaded (DLL) /MD und importiere pocrt64 und crt64

Code:
Import "lua-534.lib"
  luaL_newstate()
  luaL_openlibs(L)
  luaL_loadstring(L, str.p-utf8)
  lua_pcallk(L, n, r, f, c, kf)
  lua_tolstring(L, i, len)
  lua_tonumberx.d(L,i, *i)
  lua_tointegerx.q(L,i, *i)
  lua_gettop(L)
EndImport

Macro lua_tostring(L,i)
  lua_tolstring(L,i, #Null)
EndMacro 

Macro lua_pcall(L,n,r,f)
  lua_pcallk(L, n, r, f, 0, #Null)
EndMacro

Macro lua_dostring(L, s )
  luaL_loadstring(L, s)
  lua_pcall(L, 0, -1, 0)
EndMacro

Import "C:\Program Files\PellesC\Lib\pocrt64.lib"
EndImport
Import "C:\Program Files\PellesC\Lib\crt64.lib"
EndImport

L = luaL_newstate()
luaL_openlibs(L)       
lua_dostring(L, "return 1234567890123456789, 333.34443+5,'test lalala'" )
lua_gettop(L)
Debug PeekS(lua_tostring(L,-2), -1, #PB_UTF8)
Debug lua_tointegerx(L, -3, #Null)
Debug lua_tonumberx(L, -2, #Null)
Debug PeekS(lua_tostring(L,-1), -1, #PB_UTF8)

_________________
Suche


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye