2015-08-15 6 views
0

Проблема: после компиляции и разметки двоичного файла во время выполнения я получаю «неопределенную ссылку».Неопределенная ссылка на функцию во время выполнения после разметки двоичного файла/так

Так что во время упаковки в make-файле я попытался добавить «nostrip» в конец, соответствующий этому двоичному файлу, и он отлично работает. я. е. если я не полосую, это работает. Я использую цепочку инструментов ветра-реки. Я думаю, что это имеет какое-то отношение к тому, как я собираю или связываю.

Инструменты gcc, ld, strip и т. Д. Все из одной и той же цепи инструментов.

Любая помощь была бы действительно оценена. Спасибо.

+0

Этот вопрос трудно ответить, поскольку он стоит. Было бы полезно увидеть параметры командной строки, переданные этим инструментам. Имейте в виду, что удаление приложения '.so' предполагает, что ни одна из вещей, в которые двоичные ссылки не полагаются на символы в двоичном (ссылки на круговые символы). Это часто может быть результатом плохого дизайна, но может также возникать, если ваше приложение программно связывает другие модели (например, плагины). – marko

+0

Спасибо marco за ответ. Мне удалось это понять. Проблема заключалась в том, что в файл make были некоторые переменные среды, которые заставляли использовать неправильную утилиту для полосы, т. Е. Использовала утилиту monta-vista strip вместо wind-river. – ahamed101

ответ

0

Update

Решение: Проблема была, есть некоторые переменные окружения в Makefile, который делает его использовать неправильную программу полосы т.е. она была с помощью Монта-достопримечательность полосы утилиты вместо ветров-реку.