Я пишу общую библиотеку, на которой я написал исполняемый файл для единичного тестирования. Я хотел бы создать цель в Makefile, которая инициирует процедуру тестирования.Единичная проверка разделяемой библиотеки с помощью Makefile
Исполняемый модуль unit-testing связан с библиотекой, созданной мгновением назад.
При запуске исполняемого файла в пределах Makefile, я получаю
./starttest: error while loading shared libraries: libllist.so: cannot open shared object file: No such file or directory
Какой путь лучше подойти к этому вопросу?
определения
LD_LIBRARY_PATH
из в Makefile, как это?экспорт LD_LIBRARY_PATH = $ (Curdir)/Библиотека
сила пользователю установить библиотеку перед запуском тестов?
- Не запускайте модульное тестирование из Makefile, пользователь сделает это сам.
или, может быть, я что-то пропустил, и есть даже лучший способ?
На самом деле я решил это 10 минут назад (техника -rpath), но я решил оставить вопрос, чтобы увидеть больше вариантов. – stdcall
Существует очень много способов, которыми программа может использовать для поиска разделяемой библиотеки. Единственный доступный вариант, который еще не рассмотрен выше, - это изменить список каталогов по умолчанию для системы, на который нужно посмотреть. Для этого требуется, чтобы привилегии администратора обновлялись для каждой рабочей области, поэтому это явно не стартер. – MadScientist