pkg-config auf Cygwin findet das GSL-Paket nicht

pkg-config auf Cygwin findet das GSL-Paket nicht

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

verwandte Informationen