Где версия библиотеки определяется в C ++? - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь скомпилировать свой проект с помощью Makefile, и у меня возникли проблемы с динамической библиотекой c.

Я добавляю -Wl,rpath=/media/apps/user/lib в свой Makefile, и приложение, похоже, не может найти библиотеку.

Я использую команду LD_DEBUG=libs ./my-app, чтобы выяснить, что происходит в моем приложении, и вот результат

      1662:  find library=libcrypto.so.1.0.0 [0]; searching
      1662:  search path=/media/apps/user/lib   (RPATH from file ./my-app)
      1662:    trying file=/media/apps/user/lib/libcrypto.so.1.0.0
      1662:  search cache=/etc/ld.so.cache
      1662:    trying file=/lib/libcrypto.so.1.0.0

У меня есть libcrypto.so.1.1 in /media/apps/user/lib но я не знаю, почему приложение всегда ищет libcrypto.so.1.0.0 .

Это очень раздражает, и вы можете показать мне, почему приложение всегда ищет конкретную информацию? c версия libcrypto и как ее изменить?

Спасибо.

...