-Gxx-include-dir ile GCC, iOS 11.4 simülatörüne ayarlanmıştır.


1

Çalıştırmamı ve sonra çalışmamı gerektiren https://github.com/zeromq/libzmq dosyasını derlemeye çalışıyorum . Birkaç gün önce çalışıyordu, ama şimdi bu oldu:autoconf./configure

checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '502' is supported by ustar format... yes
checking whether GID '20' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... configure: error: in `/Users/rajiv/libzmq/libzmq-4.2.5':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

config.log gösterir:

configure:4489: checking whether we are cross compiling
configure:4497: gcc -o conftest    conftest.c  >&5
configure:4501: $? = 0
configure:4508: ./conftest
dyld: mach-o, but built for simulator (not macOS)
./configure: line 4510: 98877 Abort trap: 6           ./conftest$ac_cv_exeext
configure:4512: $? = 134

GitHub’ı bir süre aradıktan sonra, GCC’de bir sorun olabilir:

$ gcc -v

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.4.sdk/usr/include/c++/4.2.1

Apple LLVM version 9.1.0 (clang-902.0.39.2)

Target: x86_64-apple-darwin17.7.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

includeİOS 11.4 SDK'dan gelmeye çalışıyor gibi görünüyor . Onu doğru yola nasıl değiştirebilirim ve bu değişiklik nasıl oldu? Düşünebildiğim tek şey, Xcode Komut Satırı Araçları için bir güncelleme yüklediğim ve autoconfHomebrew ile güncellediğim olabilir.


/Usr/include/c++/4.2.1 'in eski bir gcc için doğru olanı içerdiğinden şüpheliyim - Apple artık gcc sağlamaz, fakat clang yapar. Bu yapı için gerekli değişiklikleri nasıl yaptıklarını görmek için macports veya Homebrew gibi liman sistemlerine bakmam gerekirdi
Mark

Neden bir homebrew etiketi kullandın?
Mark

@Mark bunun doğru dizin olduğunu varsaymıştım ama gerçekten olması gereken dizine geçmek istiyorum. Soruyu buna göre düzenleyeceğim. Homebrew etiketini ekledim çünkü Homebrew'ın bu değişikliği etkileyip etkilemediğinden emin değilim, ancak kaldıracağım
Rajiv

Yanıtlar:


1

Benzer bir konu görüyordum.

$ gcc -v
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.4.sdk/usr/include/c++/4.2.1

Benim durumumda, bu konfigürasyon #include <stdlib.h>, macOS kütüphaneleri yerine iOS / iPhone simülatör platformu kütüphanelerine referans verilmesi gibi sonuçlandı . Bu, derleme yaparken kullanılan yanlış mimariyle ilgili hatalar almamla sonuçlandı.

Bulduğum tek uygulanabilir çözüm, Xcode'u kaldırmak (uygulamayı silmek /Applications) ve komut satırı araçlarını kaldırmaktı . Bu ve bir yeniden başlatma, benim durumumda bu sorunu çözmek gibiydi.


Teşekkürler! Bu benim için çalıştı. Kök nedenin ne olduğundan emin değilim, belki bir Xcode güncellemesi
Rajiv
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.