Ich versuche, die Cygwin-Methode zum erneuten Erlernen von C mithilfe des Buches „21st Century C“ von Ben Klemens zu verwenden. Ich habe Cygwin installiert und verwende apt-cyg, um die im Buch erwähnten Pakete zu installieren. Die Pakete scheinen problemlos installiert zu werden, ich kann gcc, make, pkg-config usw. aufrufen, aber pkg-config scheint nichts zu finden. Genauer gesagt kann dies nichts finden:
$ pkg-config --libs gsl
$ pkg-config --cflags gsl
Ich habe einige Fragen gesehen, in denen es um die Änderung des Pfads geht. Ich habe versucht, ihn wie folgt zu ändern:
$ export PKG_CONFIG_PATH=c:\\cygwin\\usr\\local\\lib\\pkgconfig
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
$ export PKG_CONFIG_PATH=C:\\cygwin\\bin
Das hier habe ich auch schon alles installiert:
- Binärdateien
- gcc
- gcc-kern
- gcc-g++
- machen
- gdb
- gsl
Ich habe überprüft, dass sie mit folgendem Programm installiert sind:
$ cygcheck -c | grep {string}
Zugegebenermaßen kenne ich mich mit Linux-Systemen nicht so gut aus, sonst wäre es mein Hauptsystem und ich würde nicht Cygwin verwenden ;)
Antwort1
Ich habe den falschen Pfad festgelegt. Ich dachte, der Exportbefehl würde Pfade zur Variable PKG_CONFIG_PATH hinzufügen. Offensichtlich musste ich die Variable am Anfang voranstellen (genau wie ich es in Windows tun soll :) und mit einem Doppelpunkt trennen, wenn ich wirklich Pfade hinzufügen wollte.
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:{my_new_path}
Aber das war nicht das wirkliche Problem, warum pkg-config gsl nicht finden konnte, obwohl ich dachte, ich hätte das Paket installiert. Was ich wirklich installieren musste, war gsl-devel, und dann würde es seine .pc-Datei zu /lib/pkgconfig hinzufügen.
Um es noch einmal zusammenzufassen: Ich musste meinen Paketmanager verwenden, um {package-name}-devel (gsl-devel) zu installieren, wodurch dann die relevante Datei {package-name}.pc (gsl.pc) hinzugefügt wurde.
Setzen Sie die Variable richtig:
$ export PKG_CONFIG_PATH=/lib/pkgconfig
dann holen Sie sich das Entwicklungspaket:
$ apt-cyg install gsl-devel