cygwin의 pkg-config는 gsl 패키지를 찾지 못합니다.

cygwin의 pkg-config는 gsl 패키지를 찾지 못합니다.

Ben Klemens의 21st Century C 책을 사용하여 C를 다시 학습하기 위해 Cygwin 방법을 사용하려고 합니다. 나는 Cygwin을 설치했고 책에 언급된 패키지를 설치하기 위해 apt-cyg를 사용해 왔습니다. 패키지는 잘 설치된 것 같습니다. gcc, make, pkg-config 등을 호출할 수 있지만 pkg-config에서는 아무 것도 찾을 수 없는 것 같습니다. 더 구체적으로 말하면 아무것도 찾을 수 없습니다.

$ pkg-config --libs gsl
$ pkg-config --cflags gsl

경로 변경에 관해 이야기하는 몇 가지 질문을 보았습니다. 나는 그것을 다음과 같이 변경하려고 시도했습니다.

$ 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

나는 또한 이미 이 모든 것을 설치했습니다:

  • binutils
  • gcc
  • gcc-코어
  • gcc-g++
  • 만들다
  • gdb
  • gsl

다음을 사용하여 설치되었는지 확인했습니다.

$ cygcheck -c | grep {string}

물론 저는 Linux 시스템에 별로 익숙하지 않습니다. 그렇지 않으면 Linux가 제 주요 시스템이 될 것이고 Cygwin을 사용하지 않을 것입니다. ;)

답변1

잘못된 경로를 설정하고 있었고 내보내기 명령이 PKG_CONFIG_PATH 변수에 경로를 추가하고 있다고 생각했습니다. 분명히 시작 부분에 변수 접두사를 붙여야 했습니다(Windows에서 해야 하는 것처럼 :). 그리고 콜론으로 구분해야 했습니다. 정말 경로를 추가하고 싶었어요

$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:{my_new_path}

그러나 그것은 pkg-config가 gsl을 찾을 수 없는 이유의 실제 문제가 아니었습니다. 비록 패키지를 설치했다고 생각했지만 실제로 설치해야 했던 것은 gsl-devel이었고, 그런 다음 해당 .pc 파일을 /에 추가했습니다. lib/pkgconfig.dll

요약하자면, 패키지 관리자를 사용하여 {package-name}-devel(gsl-devel)을 설치해야 했습니다. 그러면 관련 {package-name}.pc 파일(gsl.pc)이 추가되었습니다.

변수를 올바르게 설정하십시오.

$ export PKG_CONFIG_PATH=/lib/pkgconfig

그런 다음 개발 패키지를 얻으십시오.

$ apt-cyg install gsl-devel

관련 정보