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-devellibiconvautoconf (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 ./configuretespit 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.acdenetimleri düzenler ve kaldırırız iconv_open. Arama iconv_open3 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, ....)
./configureArdından, ./configurekomut dosyasını çalıştırarak yeniden autoconfyapılandırır ve configure betiğini çalıştırırız:
$ autoconf && ./configure
Makefile Doğru yolu içerecek şekilde düzenleyincurses.hKarşılaştığım başka bir sorun curses.h- gcc bulamadı. Hızlı bir arama,/usr/include/ncurses .
Bunun Makefileiçin sabit kodlu bir ekleme yolu vardır CFLAGS, ancak bunun /usr/local/include/ncursesyerine işaret eder .
Yani, düzenliyor Makefileve değiştiriyoruz:
CFLAGS = -I/usr/local/include/ncurses -std=c99 ....
için
CFLAGS = -I/usr/include/ncurses -std=c99 ...
LDFLAGSiçin dışa aktarın libiconv, derlemeye / yüklemeye hazırız.Son olarak, LDFLAGSbağlantı iconvkurmak, 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-develdeğiştirip yüklediniz -Imi?
curses.hdahil edilmiyor ( ERRorada 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)