Estou tentando usar o método Cygwin para reaprender C usando o livro 21st Century C de Ben Klemens. Instalei o Cygwin e tenho usado o apt-cyg para instalar os pacotes mencionados no livro. Os pacotes parecem instalar bem, posso chamar gcc, make, pkg-config, etc... mas o pkg-config não consegue encontrar nada. Mais especificamente, isso não consegue encontrar nada:
$ pkg-config --libs gsl
$ pkg-config --cflags gsl
Já vi algumas perguntas que falam sobre mudar o caminho. Eu tentei mudar para:
$ 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
Eu também já tenho tudo isso instalado:
- binutils
- gcc
- núcleo gcc
- gcc-g++
- fazer
- gdb
- gsl
Verifiquei que eles estão instalados usando:
$ cygcheck -c | grep {string}
Admito que não estou muito familiarizado com sistemas Linux, caso contrário, seria meu sistema principal e não usaria o Cygwin;)
Responder1
Eu estava definindo o caminho errado, pensei que o comando de exportação estava adicionando caminhos à variável PKG_CONFIG_PATH, obviamente eu precisava prefixar a variável no início (assim como devo fazer no Windows :) e separar com dois pontos se Eu realmente queria adicionar caminhos
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:{my_new_path}
Mas esse não era o verdadeiro problema de por que o pkg-config não conseguiu encontrar o gsl, embora eu pensasse ter instalado o pacote, o que eu realmente precisava instalar era o gsl-devel, e então ele adicionaria seu arquivo .pc a / lib/pkgconfig.
Então, para recapitular, precisei usar meu gerenciador de pacotes para instalar {nome do pacote}-devel (gsl-devel), que adicionaria o arquivo {nome do pacote}.pc relevante (gsl.pc).
Defina a variável corretamente:
$ export PKG_CONFIG_PATH=/lib/pkgconfig
então pegue o pacote de desenvolvimento:
$ apt-cyg install gsl-devel