как найти местоположение отсутствующей библиотеки

#c #mysql

#c #mysql

Вопрос:

Я установил соединитель mysql для c . Я пишу приложение c cgi. Страница cgi была скомпилирована. Вчера я перезагрузился, и он перестал компилироваться. g -o sales.cgi sales.cpp -lcgicc -lmysqlcppcon . Выдает следующую ошибку. /usr/bin/ld cannot find -lmysqlcppcon apt-get сообщает мне, что у меня последняя версия libmysqlcppconn7v5 и у меня последняя версия libmyqlcppconn-dev. Как мне найти библиотеку. Я проверил /usr/lib/ , но я понятия не имею, что мне следует искать.

Комментарии:

1. Пакет libmysqlcppcon-dev устанавливает пакет libmysqlcppcon.so , который связан как -lmysqlcppcon . Если это «остановило компиляцию», вы случайно удалили этот файл или что-то в этом роде?

Ответ №1:

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

ПРИМЕР (вы бы заменили «mysqlcppcon»):

 dpkg -l|grep -i mysql
ii  php-mysql                        1:7.2 60ubuntu1                            all          MySQL module for PHP [default]
...  <= Search for the exact package name (here, "php-mysql")

   dpkg -L php-mysql
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/php-mysql
/usr/share/doc/php-mysql/copyright
/usr/share/doc/php-mysql/changelog.gz
  <= List files installed to your system from that package
  

Вы также можете использовать find

ПРИМЕР:

 find / -name "*mysqlcppcon*" -print 2> /dev/null
  

*xxx* Синтаксис позволяет вам выполнять поиск по шаблону; 2> /dev/null отфильтровывает ненужный «шум» из вашего поиска по шаблону, например «find: ‘/ run / lvm’: в разрешении отказано».

Ответ №2:

Спасибо за всю помощь. Огромная опечатка на моей стороне. Мне нужно было g -o sales.cgi sales.cpp -lcgicc -lmysqlcppconn