Die Bibliotheksdateien, auf die in Makefile verwiesen wird, werden nicht gefunden

8

Ich versuche dieses Tool zu kompilieren. Unten ist der Anfang seines Makefiles:

%Vor%

Ich habe auch ~ / include / tools, die nach dem Kompilieren std_io.o, libstd_io.a, stringutils.o und libstringutils.a

enthalten

Ich erhalte den folgenden Fehler:

%Vor%

Ich bin nicht sicher, ob die Dinge nicht korrekt enthalten sind und warum die Bibliotheksdateien nicht gefunden werden.

Bearbeiten: Es stellt sich heraus, dass ich versehentlich ein Leerzeichen zwischen den Optionen -L und -I gelassen habe. Außerdem mussten die Wege erweitert werden, denke ich. Es funktioniert jetzt, danke!

    
Sheerberenj 11.08.2011, 19:35
quelle

1 Antwort

12

Das Problem ist die Verwendung der Tilde, um "Home-Verzeichnis" zu bedeuten. Eine Shell führt nur dann eine Tilde-Erweiterung aus, wenn die Tilde das erste nicht in einem Wort enthaltene Zeichen ist. Makefiles machen keine Erweiterung. Also, in

%Vor%

Die Shell tut keine Tilde-Erweiterung und gcc sucht im aktuellen Verzeichnis nach einem Verzeichnis namens "~ / include". Aber in

%Vor%

Die Shell macht eine Tilde-Erweiterung und gcc sieht

%Vor%

stattdessen, was wie erwartet funktioniert. Es ist richtig, die Tilde-Erweiterung für das Ausgangsverzeichnis nicht zu verwenden, sondern einfach $ HOME im Makefile zu verwenden, z. B.

%Vor%     
Jens 25.08.2011 20:50
quelle

Tags und Links