Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Compile LINUX , cannot open shlwapi.dll (https://www.delphipraxis.net/204124-compile-linux-cannot-open-shlwapi-dll.html)

bernhard_LA 26. Apr 2020 00:03

Compile LINUX , cannot open shlwapi.dll
 
beim compilieren für LINUX bekomme ich diese Fehlermeldung :

Delphi-Quellcode:
[DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot open shlwapi.dll: No such file or directory
[DCC Fatal Error] F2588 Linker error code: 1 ($00000001)
wie löse ich dieses Problem , wer ist für diese DLL verantwortlich ?

jaenicke 26. Apr 2020 00:42

AW: Compile LINUX , cannot open shlwapi.dll
 
Die DLL gehört zu Windows. Wenn diese bei dir nicht vorhanden ist, dürfte eigentlich Windows kaum noch funktionieren. Von daher ist bei dir wohl eher der Systempfad defekt.

Prüfen kannst du das indem du die Umgebungsvariable PATH prüfst oder mit dem Process Monitor prüfst wo diese DLL gesucht wird und was damit passiert.

hoika 26. Apr 2020 07:19

AW: Compile LINUX , cannot open shlwapi.dll
 
Hallo,
fang an mit einem leeren Projekt,
dann deine Units (ohne Code) nach und nach einbinden.

Bernhard Geyer 26. Apr 2020 11:06

AW: Compile LINUX , cannot open shlwapi.dll
 
Zitat:

Zitat von jaenicke (Beitrag 1462889)
Die DLL gehört zu Windows. Wenn diese bei dir nicht vorhanden ist, dürfte eigentlich Windows kaum noch funktionieren. Von daher ist bei dir wohl eher der Systempfad defekt

Er will für Linux compilieren. Und da kann der Linux-Compiler nix mit *.dlls anfagen.
Hat wohl irgendwo eine Usage auf eine reine Windows-Unit.
Evtl. mal die Compilerwarnung dafür aktivieren.

jaenicke 26. Apr 2020 13:31

AW: Compile LINUX , cannot open shlwapi.dll
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1462901)
Er will für Linux compilieren. Und da kann der Linux-Compiler nix mit *.dlls anfagen.
Hat wohl irgendwo eine Usage auf eine reine Windows-Unit.

Sicher, dass an der Stelle bei einer entsprechenden Unit auf die DLL direkt zugegriffen wird? Und dass die Meldung dann so aussieht?
Wenn ich für Windows kompiliere, muss eine eingebundene DLL ja beim Kompilieren auf dem System gar nicht vorhanden sein (wozu auch).

Für mich sieht es eher so aus als ob der Linuxcompiler die DLL für das Ermitteln von Pfadangaben oder ähnlichem selbst versucht zu laden.

Aber es kann natürlich alles sein.

bernhard_LA 28. Apr 2020 11:45

AW: Compile LINUX , cannot open shlwapi.dll
 
welche windows unit könnte ich in meinen source code eingebunden haben damit die shlwapi.dll beim compilieren aufgerufen wird ?
ich konnte ja schon mal für LINUX und Windows kompilieren .....

hoika 28. Apr 2020 11:49

AW: Compile LINUX , cannot open shlwapi.dll
 
Hallo,
siehe mein Post (#3).
Wir kennen deinen Quellcode nicht.

Klappt denn ein komplett leeres Programm?

bernhard_LA 28. Apr 2020 12:23

AW: Compile LINUX , cannot open shlwapi.dll
 
@hoika

< 1 Mio Zeilen code
~ 1000 units die sich x mal untereinander einbinden .............



wenn ich wüsste was die dll macht könnte ich den Suchraum einschränken ....

Delphi.Narium 28. Apr 2020 12:43

AW: Compile LINUX , cannot open shlwapi.dll
 
Bei Google suchenshlwapi

https://docs.microsoft.com/en-us/win...2/api/shlwapi/

https://www.geoffchappell.com/studie.../api/index.htm

Grob: Kappselt gaaaaanz vieeeeel von der Windows-Api.

Dürfte für Linux absolut uninteressant sein. Da müssen dann die entsprechenden "Linux-Gegenstücke" genutzt werden.

Mal nur 'ne Vermutung:

Irgendwo fehlt ein Kompilerschalter, der für die Unterscheidung zwischen Windows und Linux zuständig ist.

EmbeddedWB nutzt die Dll z. B., ebenso die JCL.

Achso: Es gibt auch 'ne Unit shlwapi (Zumindest in den Quellen zu https://www.delphipraxis.net/203147-...er-delphi.html).

Ist die irgendwo unter Deinen 1000?

himitsu 28. Apr 2020 13:03

AW: Compile LINUX , cannot open shlwapi.dll
 
Sicher dass ihr an der richtigen Stelle sucht?
Beim Kompilieren werden die eingebundenen .DLL (Windows) bzw. .SO (Linux) niemals geladen, also ist es "erstmal" egal falls im Quellcode irgendwo eine Referenz darauf stünde, weil z.B. ein IFDEF fehlt.

Die Fehlermeldung in #1 sieht eher so aus, als wenn sie aus der ld-linux.exe kommt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz