MinGW-w64 ve MSYS2 nasıl kurulur?


88

Açık kaynak kitaplık oluşturmaya çalışıyorum. Bağımlılıkları kolayca indirmek için paket yönetim sistemine ihtiyacım var. İlk başta kullanıyorum MinGW+MSYS. Ancak dahil edilen paketler sınırlıdır. Biri bana kullanmamı söylediMinGW-w64 + MSYS2 .

Ben indirilen mingw-w64-installdan burada . Çalışırken aşağıdaki hatayı bildirir. Nasıl düzeltilir?

görüntü açıklamasını buraya girin

Ve btw, MinGW-w64indirme sayfasından çok sayıda indirme bağlantısı görüyorum. Cygwin bile listelenmiştir. Nasıl Cygwinve MinGW-w64ilişkilidir?

görüntü açıklamasını buraya girin

Şu anki anlayışıma göre MinGW+MSYS, MSYS MinGW için sadece güzel bir eklenti iken MinGW-w64 + MSYS2, MSYS2 bağımsızdır ve MinGW-w64 sadece birlikte çalışabileceği bir kitaplık kümesidir. Tıpkı Cygwin'in birçok farklı paketi indirebileceği gibi.

Yanıtlar:


201

Maalesef, kullandığınız MinGW-w64 yükleyicisinde bazen bu sorun var. Ben bunun neden olduğundan emin değilim (bunun Sourceforge URL yeniden yönlendirmesiyle veya yükleyicinin şu anda yeterince düzgün bir şekilde işleyemediği şeyle bir ilgisi olduğunu düşünüyorum).

Her neyse, zaten MSYS2'yi kullanmayı planlıyorsanız, bu yükleyiciye gerek yoktur.

  1. Bu sayfadan MSYS2'yi indirin (hangi Windows sürümünde kullanacağınıza bağlı olarak 32 veya 64 bit seçin, ne tür yürütülebilir dosyalar oluşturmak istediğinizi değil, her iki sürüm de hem 32 hem de 64 bit ikili dosyalar oluşturabilir).

  2. Kurulum tamamlandıktan sonra, Başlat menüsünde MSYS2 64-bitveya altında yeni oluşturulan "MSYS2 Kabuğu" seçeneğine MSYS2 32-bittıklayın. MSYS2'yi wiki'ye göre güncelleyin (sadece a yapsam da pacman -Syu, tüm hataları görmezden gelip pencereyi kapatıp yeni bir pencere açsam da bu önerilmez ve wiki sayfasının söylediğini yapmalısınız).

  3. Bir araç zinciri kurun

    a) 32 bit için:

    pacman -S mingw-w64-i686-gcc
    

    b) 64 bit için:

    pacman -S mingw-w64-x86_64-gcc
    
  4. ihtiyacınız olabilecek kitaplıkları / araçları kurun. Depolarda arama yapabilirsiniz.

    pacman -Ss name_of_something_i_want_to_install
    

    Örneğin

    pacman -Ss gsl
    

    ve kullanarak kurun

    pacman -S package_name_of_something_i_want_to_install
    

    Örneğin

    pacman -S mingw-w64-x86_64-gsl
    

    ve o andan itibaren GSL kitaplığı MinGW-w64 64-bit derleyiciniz tarafından otomatik olarak bulunur!

  5. Bir MinGW-w64 kabuğu açın:

    a) 32 bit şeyler oluşturmak için "MinGW-w64 32 bit Kabuk" u açın

    b) 64 bit şeyler oluşturmak için "MinGW-w64 64 bit Kabuk" u açın

  6. Yaparak derleyicinin çalıştığını doğrulayın

    gcc -v
    

Eğer MSYS2 ortamının dışında (yüklü kitaplıkları ile) toolchain kullanmak istiyorsanız, yapmanız gereken tek şey ekleyin <MSYS2 root>/mingw32/binveya <MSYS2 root>/mingw64/binTo Your PATH.


4
Teşekkürler. Tanıyabilen bir paketin kanonik adını nasıl alabilirim pacman?
smwikipedia

1
Hem 32 hem de 64 bit araç zincirlerini aynı anda kurarsanız işe yarayacak mı?
Colonel Panic

2
@Colonel evet, araç zincirlerini (ve kurduğunuz 3. taraf kitaplıklarını) ayrı dizinlere (/ mingw32 ve / mingw64) kuracaktır.
rubenvb

5
Çok teşekkür ederim @rubenvb. Msys2 wiki, bu birkaç basit adımı nasıl yapacakları konusunda benim gibi çaylaklar için çok kafa karıştırıcı.
Toby

1
@Toby Bir şeyleri açıklarken "Arch Way" i kabul ettiklerini kabul ediyorum, yani pacman'daki Arch wiki'yi okuyun ve neredeyse aynı şeyi biliyorsunuz. Yeni başlayanlar için kurulum yararlı olabilir, ancak şu anda SO'da ve Google'da oldukça hızlı bir şekilde açılmalıdır :). (bunu şu şekilde okuyun: bu cevabı yükseltmeye devam edin: P)
rubenvb

38

MSYS uzun süredir güncellenmedi, MSYS2 daha aktif, MSYS2'den indirebilirsiniz , hem mingwve hem de cygwin forkpaketi var.

MinGW-w64 araç zincirini kurmak için ( Referans ):

  1. Başlat menüsünden MSYS2 kabuğunu açın
  2. pacman -Sy pacmanPaket veritabanını güncellemek için çalıştırın
  3. Kabuğu yeniden açın, pacman -Syupaket veritabanını ve çekirdek sistem paketlerini güncellemek için çalıştırın
  4. Kabuğu yeniden açın pacman -Su, geri kalanını güncellemek için çalıştırın
  5. Derleyiciyi kurun:
    • 32 bit hedef için çalıştırın pacman -S mingw-w64-i686-toolchain
    • 64 bit hedef için çalıştırın pacman -S mingw-w64-x86_64-toolchain
  6. Hangi paketin yükleneceğini seçin, hepsi varsayılan
  7. Ayrıca ihtiyacınız olabilir make, koşunpacman -S make

3
belirli MinGW-w64 sürümünü nasıl kurarım x86_64-6.2.0-release-posix-seh-rt_v5-rev1?
Youda008

1
Bu, burada açıklanan mingw yükleyicisinin artık gerekli olmadığı anlamına mı geliyor ? ve sadece msys2 kurmalıyım?
lanoxx

1
Bağlantı Referencekesildi
Jean-Francois

msys2 kabuğunun neden bir saniye sonra kendini kapatacağına dair bir fikriniz var mı?
A_P

1
Cmake'ye ihtiyacınız olması durumunda, kurmanız gerekir pacman -S mingw-w64-x86_64-cmakeve DEĞİLDİR cmake . Normal cmake, minGW için üreteçlerden yoksun olacaktır.
user136036
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.