cygwin 上的 pkg-config 找不到 gsl 套件

cygwin 上的 pkg-config 找不到 gsl 套件

我正在嘗試使用 Cygwin 方法使用 Ben Klemens 的 21st Century C 書重新學習 C。我已經安裝了 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

我也已經安裝了所有這些:

  • 二進位工具
  • 海灣合作委員會
  • gcc核心
  • gcc-g++
  • 製作
  • 資料庫
  • 甘肅省

我驗證它們是使用以下方式安裝的:

$ cygcheck -c | grep {string}

誠然,我對 Linux 系統不是很熟悉,否則它將是我的主系統,我不會使用 Cygwin ;)

答案1

我設定了錯誤的路徑,我認為導出命令正在向 PKG_CONFIG_PATH 變數添加路徑,顯然我需要在開頭添加變數前綴(就像我在 Windows 中應該做的那樣:)並用冒號分隔 if我真的很想添加路徑

$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:{my_new_path}

但這並不是 pkg-config 找不到 gsl 的真正問題,即使我認為我安裝了該軟體包,我真正需要安裝的是 gsl-devel,然後它將其 .pc 檔案新增至 / lib/pkgconfig.conf

回顧一下,我需要使用套件管理器來安裝 {package-name}-devel (gsl-devel),然後加入相關的 {package-name}.pc 檔案 (gsl.pc)。

正確設定變數:

$ export PKG_CONFIG_PATH=/lib/pkgconfig

然後取得開發包:

$ apt-cyg install gsl-devel

相關內容