Yanıtlar:
Cygwin'de balık derlemeyi nasıl başardım .
İlk olarak aşağıdaki cygwin paketlerine sahip olduğumuzdan emin olun:
libncurses-devel
libiconv
autoconf
(gerçekten bir balık bağımlılığı değil, ancak daha sonraki bir adım için buna ihtiyacımız var)Ardından, http://fishshell.com adresinden en son kaynağı indirin ( fish-1.23.1.tar.gz kullandım ). Kaynağı seçtiğiniz dizine ve cd'yi ona çıkarın:
$ tar zxvf fish-1.23.1.tar.gz -C /usr/local/src/
$ cd /usr/local/src/fish-1.23.1/
configure.ac
Kontrolleri kaldırmak için düzenleyiniconv
Şimdi bir sebepten dolayı düzgün ./configure
tespit edemiyoruz libiconv
. Sorunun üstesinden gelmek için kontrolünü kaldırıyoruz (daha sonra lib'i manuel olarak belirleyeceğiz). Bunu yapmak için, configure.ac
denetimleri düzenler ve kaldırırız iconv_open
. Arama iconv_open
3 olayı ortaya çıkarır; hepsine yorum yapıyoruz. Yani:
AC_SEARCH_LIBS( iconv_open, iconv, ....)
Şu şekilde değiştiriyoruz:
#AC_SEARCH_LIBS( iconv_open, iconv, ....)
./configure
Ardından, ./configure
komut dosyasını çalıştırarak yeniden autoconf
yapılandırır ve configure betiğini çalıştırırız:
$ autoconf && ./configure
Makefile
Doğru yolu içerecek şekilde düzenleyincurses.h
Karşılaştığım başka bir sorun curses.h
- gcc bulamadı. Hızlı bir arama,/usr/include/ncurses
.
Bunun Makefile
için sabit kodlu bir ekleme yolu vardır CFLAGS
, ancak bunun /usr/local/include/ncurses
yerine işaret eder .
Yani, düzenliyor Makefile
ve değiştiriyoruz:
CFLAGS = -I/usr/local/include/ncurses -std=c99 ....
için
CFLAGS = -I/usr/include/ncurses -std=c99 ...
LDFLAGS
için dışa aktarın libiconv
, derlemeye / yüklemeye hazırız.Son olarak, LDFLAGS
bağlantı iconv
kurmak, daha sonra derlemek ve yüklemek için gerekli ihracat !
$ export LDFLAGS="-liconv"
$ make && make install
fish
$ fish
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
me@home /u/l/s/fish-1.23.1>
translate_color': set_color.c:116: warning: implicit declaration of function
strstr. 'Set_color.c fonksiyonunda: main': set_color.c:333: error:
ERR fonksiyonunda bildirilmemiş (bu işlevde ilk kullanım)
libncurses-devel
değiştirip yüklediniz -I
mi?
curses.h
dahil edilmiyor ( ERR
orada tanımlanıyor). Bir göz atabilir /usr/include/ncurses/
ve orada olup olmadığını görebilir misin?
GitHub'daki 680 ve 319 numaralı balık konularını kontrol edin , cygwin'de balık derlemek için ihtiyacınız olan her şey var.
#define HAVE_NCURSES_H 1
, oluşturulan başlık dosyasına da ekledimconfig.h
(yukarıda belirtilen aynı nedenlerle)