Поэтому я пытаюсь вызвать программу из создаваемого мной файла c, но единственный способ сделать это — использовать функцию system (), которая сама по себе вызывает ошибку. Для запуска программы в терминале я использую;
~/odas/bin/odaslive -vc ~/odas/config/odaslive/matrix_creator.cfg
execl
требует путь к файлу в первом аргументе.
Это не расширяется с домом для пути. Полный путь должен быть указан.
Проверьте возвращаемое значение и errno
, Он сообщит вам о причине отказа, если таковые имеются.
int ret = execl("/home/username/odas/bin/odaslive", "/home/username/odas/bin/odaslive", "-vc", "/home/username/odas/config/odaslive/matrix_creator.cfg", (char *)NULL);
Других решений пока нет …