2017-01-25 34 views
5

Korzystanie instrukcje od Compiling-ICU-with-MinGW mam następujący błądICU 58 niezdefiniowana odniesienia w MSYS2/MinGW64

digitlst.o:digitlst.cpp:(.text+0x11): undefined reference to `_free_locale' 
digitlst.o:digitlst.cpp:(.text+0x8fe): undefined reference to `_create_locale' 
digitlst.o:digitlst.cpp:(.text+0xa20): undefined reference to `_create_locale' 
collect2.exe: error: ld returned 1 exit status 

My budować środowisko:

  • MSYS2 z gcc w wersji 6.3.0 (Rev1, wybudowana przez projekt MSYS2)
  • 64-bitowy toolchain: pacman -S mingw-w64-x86_64-toolchain
  • ICU 58,2 Źródła ICU4C

zrobiłem

unzip icu4c-58_2-src.zip 
cd icu/source 
./runConfigureICU MinGW prefix=$PWD/../dist 
make 

Czy ktoś wie jak rozwiązać ten problem?

Edytuj: Tak samo jest z 58,1, ale 57.1 działa poprawnie.

+0

mam ten sam problem. Może to być błąd w skrypcie konfiguracyjnym ICU 58, ponieważ MinGW-w64 nigdy nie oferował '_create_locale' /' _free_locale' (chociaż są one zdefiniowane w nagłówkach, nie istnieją w 'msvcrt.dll', które MinGW-w64 linki przeciw). Czy próbowałeś listy mailingowej? – alecov

Odpowiedz

1

Starałem się zbudować QT 5.8 z najnowszą wersją OIOM i ten problem pojawił się ...

udało mi się zbudować icu4c-58_2 łącząc przeciwko libmsvcr100.a użyciu x86_64-6.3.0- POSIX-SEH-rt_v5-rev1

wydaje się, że te funkcje są domyślnie brakuje libmsvcrt.a

+0

Tak, 'export LIBS =" - lmsvcr100 "' rozwiązało to dla mnie. – Reino