Externe C-Library einbinden
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Externe C-Library einbinden
Hallo,
ich hoffe ich bin im richtigen Themenbereich, falls nicht bitte gerne verschieben.
Bei meinem aktuellen Projekt will ich später mal eine externe C-Library einbinden, genauer gesagt die 'libdsk' von Seasip. Das ganze dann jeweils für Linux und Windows.
Nun bin ich dabei meine beiden Programmier VMs (Kubuntu 22.04 64bit und Windows 10 64bit) durch eine Cross-Platform VM zu ersetzen. Diese läuft unter Kubuntu 22.04LTS 64bit und per Wine sollen dann die erzeugten Windows Programme start und testbar werden.
Funktioniert das dann auch mit dem Einbinden der externen C-Library oder brauch ich dann dafür doch wieder eine "richtige" Windows Umgebung?
Grüße
Hobbyprogrammer
ich hoffe ich bin im richtigen Themenbereich, falls nicht bitte gerne verschieben.
Bei meinem aktuellen Projekt will ich später mal eine externe C-Library einbinden, genauer gesagt die 'libdsk' von Seasip. Das ganze dann jeweils für Linux und Windows.
Nun bin ich dabei meine beiden Programmier VMs (Kubuntu 22.04 64bit und Windows 10 64bit) durch eine Cross-Platform VM zu ersetzen. Diese läuft unter Kubuntu 22.04LTS 64bit und per Wine sollen dann die erzeugten Windows Programme start und testbar werden.
Funktioniert das dann auch mit dem Einbinden der externen C-Library oder brauch ich dann dafür doch wieder eine "richtige" Windows Umgebung?
Grüße
Hobbyprogrammer
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Externe C-Library einbinden
Wine müsste reichen, ansonsten würden sehr wenige Apps unter wine laufen.Funktioniert das dann auch mit dem Einbinden der externen C-Library oder brauch ich dann dafür doch wieder eine "richtige" Windows Umgebung?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: Externe C-Library einbinden
Das klingt Prima. Denn ich finde es, jetzt wo die Wine Konfiguration läuft, sehr praktisch unter Linux Lazarus Programme auch als Windows Version kompilieren und mit Wine starten zu können. Zumal eine Windows 10 VM sehr träge, fast schon behäbig ist.Mathias hat geschrieben: Di 27. Jun 2023, 23:16Wine müsste reichen, ansonsten würden sehr wenige Apps unter wine laufen.Funktioniert das dann auch mit dem Einbinden der externen C-Library oder brauch ich dann dafür doch wieder eine "richtige" Windows Umgebung?

Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Externe C-Library einbinden
Meistens läuft alles mit wine. Die meisten Schwierigkeiten gibt es, wen man Hardware direkt anspricht, ZB. den Com-Port.
Dies ist leider so, daher verwende ich es nur um etwas zu properen.Zumal eine Windows 10 VM sehr träge, fast schon behäbig ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Externe C-Library einbinden
Kann ich so nicht bestätigen. Allerding läuft meine VM auf 4 Kernen und mit 16GB Ram von der SSD weg unter VirtualBox. Damit ist nicht viel Unterschied zu einem 'normalen' Windows 10 Rechner mit denen ich laufend zu tun habe.HobbyProgrammer hat geschrieben: Mi 28. Jun 2023, 06:09 Zumal eine Windows 10 VM sehr träge, fast schon behäbig ist.![]()
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: Externe C-Library einbinden
Dein Rechner hat evtl. einen stärkeren Prozessor und meine Windows 10 VM hatte 2 Kerne und 8GB Speicher.af0815 hat geschrieben: Mi 28. Jun 2023, 10:08Kann ich so nicht bestätigen. Allerding läuft meine VM auf 4 Kernen und mit 16GB Ram von der SSD weg unter VirtualBox. Damit ist nicht viel Unterschied zu einem 'normalen' Windows 10 Rechner mit denen ich laufend zu tun habe.HobbyProgrammer hat geschrieben: Mi 28. Jun 2023, 06:09 Zumal eine Windows 10 VM sehr träge, fast schon behäbig ist.![]()
Was hast Du für VM Einstellungen (System, Anzeige, Massenspeicher ...)?
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Externe C-Library einbinden
Basis: Intel Core i7-10850H 2,70 Ghz (6 Kerne, 12 Threads) 32GB Ram, SSD, Touchscreen , NVIDIA Quadro T2000HobbyProgrammer hat geschrieben: Mi 28. Jun 2023, 12:37 Dein Rechner hat evtl. einen stärkeren Prozessor und meine Windows 10 VM hatte 2 Kerne und 8GB Speicher.
Was hast Du für VM Einstellungen (System, Anzeige, Massenspeicher ...)?
Virtual Box VM wie folgt:
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: Externe C-Library einbinden
Der einzig große Unterschied ist, das Du in Deinem Rechner eine
NVIDIA Grafik drin hast. Mein Notebook hat "nur" die Prozessorgrafik.
Und das der Prozessor bei Dir 1 Generation neuer ist als der in meinem Notebook. Sollte das soviel ausmachen?
NVIDIA Grafik drin hast. Mein Notebook hat "nur" die Prozessorgrafik.
Und das der Prozessor bei Dir 1 Generation neuer ist als der in meinem Notebook. Sollte das soviel ausmachen?
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Externe C-Library einbinden
Grafik, Prozessor können schon was hergeben, wo mein fast 8 Jahre alter Desktop auch in der VM flott ist. Aber auch der hat eine extra Grafikkarte. Es kann auch sein das gerad NVIDIA gute Treiberunterstützung in der VM hat. Das wirkt sich dann aus. Weil ich kann sogar USB-Kameras die hochauflösend sind, vernünftig in die VM bringen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: Externe C-Library einbinden
Ok, das mit der NVIDIA Treiberunterstützung könnte schon hinkommen.
Werd mir deshalb aber kein neues Notebook kaufen, das jetzige ist ja erst 3,5Jahre alt.
Ich werd mit der Cross-Platform VM weitermachen. Die bisherige Windows 10 VM hab ich notfalls noch auf externer Festplatte als Backup.
Werd mir deshalb aber kein neues Notebook kaufen, das jetzige ist ja erst 3,5Jahre alt.

Ich werd mit der Cross-Platform VM weitermachen. Die bisherige Windows 10 VM hab ich notfalls noch auf externer Festplatte als Backup.

Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Externe C-Library einbinden
Ich bin durch die Firma dazu angehalten, nativ auf Win10 zu entwickeln und die ganzen Programme dann Cross auf die native Plattform zu bringen. Das geht relativ gut, für die Layouts habe ich mir im laufe der Zeit ein paar Tricks herausgesucht, das das geht. Ich löse das über die bedinget Kompilierung für die Plattform, besonders Schriftgrößen etc. unterscheiden sich zwischen Windows, Linux, Raspbian und dort auch noch je nach Widgetset. Da gibt es halt eine Datei mit den ganzen globalen Definitionen für mich und über die stelle ich das Layout bei den Testläufen dann feiner ein. Ansonsten kann man Layouts bauen, die sehr robust sind und auch mal eine Umstellung von Querlayout zu Hochkantlayout vertragen (besonders am RasPi gerne verwendet, je nach Montagelage).
Die ganzen C-libs liegen bei mir am WindowsPC in einer eigenen Struktur je nach Prozessor. Da diese C-libs älter sind gibt es im Normalfall keine Probleme auf neuen Rechnern (sind normalerweise abwärtskompatibel). Damit kann ich alles direkt unter Windows linken und übertrage dann automatisiert die Programme auf die Targetmaschinen. Da kann man sich sehr viel automatisieren über Scripts die von Lazarus nach dem kompilieren aufgerufen werden.
Die ganzen C-libs liegen bei mir am WindowsPC in einer eigenen Struktur je nach Prozessor. Da diese C-libs älter sind gibt es im Normalfall keine Probleme auf neuen Rechnern (sind normalerweise abwärtskompatibel). Damit kann ich alles direkt unter Windows linken und übertrage dann automatisiert die Programme auf die Targetmaschinen. Da kann man sich sehr viel automatisieren über Scripts die von Lazarus nach dem kompilieren aufgerufen werden.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: Externe C-Library einbinden
Bedingte Kompilierung verwende ich auch. Grad auch im Hinblick der Unterschiede Linux / Windows.
Für mich war hier die Frage wichtig, ob es mit der Cross-Platform Konfiguration auch möglich ist für ein Windows Programm per Wine das Einbinden (dynamisches Laden einer DLL und Nutzen der darin enthaltenen Funktionen) einer externen C-Library zu Testen oder ob es dafür eine "richtige" Windows Umgebung braucht.
Was ich bis jetzt gelesen habe funktioniert das.

Für mich war hier die Frage wichtig, ob es mit der Cross-Platform Konfiguration auch möglich ist für ein Windows Programm per Wine das Einbinden (dynamisches Laden einer DLL und Nutzen der darin enthaltenen Funktionen) einer externen C-Library zu Testen oder ob es dafür eine "richtige" Windows Umgebung braucht.
Was ich bis jetzt gelesen habe funktioniert das.

Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.