Delphi FMX Linux не может найти -lcurl - PullRequest
0 голосов
/ 04 мая 2020

Я не могу связать приложение, используя FMX Linux, потому что компоновщик не может найти библиотеку curl (Delphi 10.3.3):

[DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lcurl
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_global_init(int): error: undefined reference to 'curl_global_init'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_global_cleanup(): error: undefined reference to 'curl_global_cleanup'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_slist_append(curl_slist*, char*): error: undefined reference to 'curl_slist_append'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_slist_free_all(curl_slist*): error: undefined reference to 'curl_slist_free_all'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_easy_strerror(CURLcode): error: undefined reference to 'curl_easy_strerror'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_easy_init(): error: undefined reference to 'curl_easy_init'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_easy_setopt(void*, CURLoption): error: undefined reference to 'curl_easy_setopt'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_easy_perform(void*): error: undefined reference to 'curl_easy_perform'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_easy_cleanup(void*): error: undefined reference to 'curl_easy_cleanup'
  c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Linuxapi.Curl.o:Linuxapi.Curl:function Linuxapi::Curl::curl_easy_getinfo(void*, CURLINFO): error: undefined reference to 'curl_easy_getinfo'
[DCC Fatal Error] F2588 Linker error code: 1 ($00000001)

Но в моей системе Ubuntu 19.10 я могу найти libcurl .so.4 в папке usr / lib / x86-64- linux -gnu, и эта папка синхронизируется в моей папке Delphi SDK по адресу C: \ Users \ MyUser \ Documents \ Embarcadero \ Studio \ SDKs \ ubuntu19.10.sdk \ lib \ x86_64- linux -gnu

ОБНОВЛЕНО: Если я вручную переименую библиотечный файл libcurl.so.4 в libcurl.so в локальном ubuntu- Папка SDK я могу построить свой проект. Нужно ли устанавливать более старую версию libcurl.so при использовании delphi RTL библиотеки Linuxapi.Curl (например, используется из System. Net .HttpClient. Linux)?

Спасибо за любые намекают!

...