'libdenpli.so: неопределенная ссылка на символ' Tcl_InitStubs ' - PullRequest
0 голосов
/ 12 мая 2018

Я получаю 'libdenpli.so : undefined reference to symbol 'Tcl_InitStubs' при создании исполняемого файла.

Когда я проверяю с помощью nm, я получаю такой вывод:

nm libdenpli.so | grep Tcl_InitStubs
          U denaliTcl_InitStubs

Я смотрел на другую машину с другой платформойгде это работало нормально.И я видел вывод с t:

nm libdenpli.so | grep Tcl_InitStubs
<address> t denaliTcl_InitStubs 

В чем разница?

1 Ответ

0 голосов
/ 12 мая 2018

Как вы можете видеть на справочной странице nm :

       "t" The symbol is in the text (code) section.

       "U" The symbol is undefined.

Другими словами, ваш libdenpli.so использует символ, но не определяет его - вынеобходимо указать ссылку на библиотеку, которая также определяет этот символ.

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

...