Получить путь к файлу библиотеки - PullRequest
0 голосов
/ 30 января 2019

Я создаю библиотеку для платформы Libretro и хочу получить путь к моей библиотеке, чтобы я мог открыть файл в том же каталоге, что и мой library.so файл.

Я следовалинструкции на Как реализовать readlink, чтобы найти путь , но это просто дает мне путь к исполняемому файлу, который вызывает мою библиотеку.

1 Ответ

0 голосов
/ 30 января 2019

В Linux используйте расширение Glibc dladdr().

#include <dlfcn.h>

std::string get_library_path() {
    Dl_info dl_info;
    if(0 != dladdr((void*)get_library_path, &dl_info))
        return std::string(dl_info.dli_fname);
    else
        return std::string();
}

В Windows эквивалент равен GetModuleFileName()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...