GNU GCC-Compiler kann nicht kompilieren, wenn der Pfad Leerzeichen enthält (C ++)

1164
John Boe

Ich habe code :: blocks und GNU GCC + SDK-Stream (Open GL) genau so installiert, wie es im Tutorial "Mit OpenCL spielen: Gaussian Blurring" von Lefteris beschrieben ist. Warum kann ich nicht mit Leerzeichen im Pfad zur Bibliothek kompilieren, wenn der Autor Lefteris konnte? Der SDK-Stream-Pfad ist nicht verfügbar:

C:\Program Files\AMD APP 

. Wenn ich es versuche, sieht GCC so aus

"Files\AMD" 

... und erzeugt Fehler. Irgendwelche Lösung dafür? Ich verwende Windows XP.

-2

2 Antworten auf die Frage

1
Tommy

Versuchen Sie, die Segmente mit Leerzeichen in das GCC CMD-Zeilenargument zu setzen, z. B.

C:\"Program Files"\"AMD APP"\... 

oder

"C:\Program Files\AMD APP\..." 
0
John Boe

Keine Zitate helfen in irgendeiner Form. Dies hat nichts mit Leerzeichen zu tun, sondern mit der Länge des Dateinamens. Der Compiler sieht es als altes MS-DOS in Form von 8 Zeichen für den Dateinamen und 3 Zeichen für die Erweiterung an. Jeder längere Dateiname / Ordner muss umbenannt werden.

Lösung: 1. Wechseln Sie in das Verzeichnis, das Sie benötigen, um den tatsächlichen Namen von Create link to command.com zu erhalten. Arbeitspfad Feld bleibt leer 2. Übergeben 3. Führen Sie command.com im Ordner aus. 4. Geben Sie in der Eingabeaufforderung Dir ein. 5. Wählen Sie den Text aus, und kopieren Sie ihn in die Zwischenablage. : Block Hier sind Beispiele meiner Pfade:

C:\PROGRA~1\AMDAPP~1\lib\x86\OpenCL.lib 

(Abkürzung für C:\Program Files\AMD APP\lib\x86\OpenCL.lib)

W:\___NEW~1\GAUSSI~1\GAUSSI~2\refu.dll 

(Abkürzung für W:\___NEW_PROJECTS\GaussianBlur\Gaussian_with_OpenCL\refu.dll)

Jetzt funktioniert es und Fehler verschwinden. Ich hoffe das hilft anderen.