Mac OS 10.8.2'de kendi kendine derlenmiş GCC-4.7.1'i kullanarak bir program derlemeye çalışıyorum. Program openMP kullanır ve derleme başarılı olur; Ben program çalıştırmayı denediğinizde ancak, dinamik bağlayıcıgcc-4.7 ve openMP ile eksik ___emutls_get_address
dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/gcc-4.7.1/lib/libgomp.1.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/gcc-4.7.1/lib/libgomp.1.dylib
Expected in: /usr/lib/libSystem.B.dylib
Bu sorun ile şikayet çözüm önerdi MWE
#include <stdio.h>
int main() {
#pragma omp parallel
printf("Hallo!\n");
return 0;
}
Not dahil -fopenmp ile derlenmiş herhangi bir programda sürekli mevcut olduğu What is the "___emutls_get_address" symbol?, yani -lgcc_eh
bağlantı aşamasında ekleme, işe yaramaz (yine aynı dyld hata iletisini alıyorum).
Garip, son zamanlarda GCC 4.7.1'i [bu kılavuza] göre OS X 10.8.2'de derledim (http://solarianprogrammer.com/2012/07/21/compiling-gcc-4-7-1- mac-osx-lion /) ve OpenMP desteği kusursuz çalışır. –
@HristoIliev Tekrar nasıl derlediğimi kontrol edip yeniden derlemeye çalışacağım. Umarım sorun ortadan kalkar ... –
Benzer bir soru ve cevap burada yayınlanmıştır: http://stackoverflow.com/questions/7885246/what-is-the-emutls-get-address-symbol – FabienRohrer