неопределенный символ: проблема mysql_options - PullRequest
0 голосов
/ 20 ноября 2010

не может скомпилировать программу ac на gcc версии 4.1.2 20080704 (Red Hat 4.1.2-48)

Что мне делать?

Спасибо.

Ответы [ 2 ]

1 голос
/ 20 ноября 2010

Одна вещь, которую вы можете сделать, это предоставить больше информации:)
Типичным примером здесь может быть то, что вы пропустите включаемый файл из какого-то другого пакета, например, в / usr / lib / include или / usr / local / lib /включают.В любом случае компилятор не знает, что означает «mysql_options».

0 голосов
/ 20 ноября 2010

Неопределенные символы - это, как правило, функции или переменные, которые не могут быть разрешены на последнем этапе связывания.

Самая распространенная причина - не удается добавить объектный файл или разделяемую библиотеку, которая их содержит, в параметры компилятора / компоновщика. Например, если разделяемой библиотекой является libtest.so, вам нужно добавить опцию -ltest в gcc, которая обычно используется для компоновки во многих системах вместо непосредственного использования ld.

Во многих других случаях компоновщик не может найти указанные библиотеки, потому что путь поиска библиотеки (опция -L в gcc) задан неправильно, чтобы компоновщик мог найти эти библиотеки. В этом случае, однако, компоновщик выдаст отдельное сообщение об ошибке о невозможности найти указанную библиотеку.

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

В вашем случае символ mysql_options находится в библиотеках libmysqlclient и libmysqlclient_r. Вы должны проверить командную строку, которая вызывает ошибку, и посмотреть, не связана ли какая-либо из них с ней.

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

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