Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 18.07.2009
Сообщений: 16

Проблема компиляции программы с MySQL++ API

12.09.2009, 17:14. Показов 3011. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый ! Вот сталкнулся с такой проблемой , что не удаётся скомпилировать программу , которая несёт в себе элементарный SQL запрос. Система у меня freeBSD 7.0 , MySQL установлен. Компилирую программу следующим образом:
Code
1
# g++ -I/usr/local/include/mysql -I/usr/local/include/mysql++ -L/usr/lib -o testsql testsql.cpp -lmysqlclient -lmysqlpp
Получаю вот это:
Code
1
2
3
4
5
6
testsql.cpp: In function 'int main(int, char**)':
testsql.cpp:20: error: no matching function for call to 'mysqlpp::Connection::query(const char [23])'
/usr/local/include/mysql++/connection.h:203: note: candidates are: mysqlpp::Query mysqlpp::Connection::query()
testsql.cpp:22: error: 'StoreQueryResult' is not a member of 'mysqlpp'
testsql.cpp:22: error: expected `)' before 'res'
testsql.cpp:24: error: 'res' was not declared in this scope
Cначало ругался /usr/bin/ld на lmysqlpp , указал путь к библиотеке , появилось вот эта ошибка. В чём может быть проблема?

Вот собственно код :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <mysql++.h>
 
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int
main(int argc, char *argv[])
{
   // Get database access parameters from command line
   const char* db = 0, *server = 0, *user = 0, *pass = "";
 
   // Connect to the sample database.
   mysqlpp::Connection conn(false);
   if (conn.connect(db, server, user, pass)) {
       // Retrieve a subset of the sample stock table set up by resetdb
       // and display it.
       mysqlpp::Query query = conn.query("select item from stock");
 
       if (mysqlpp::StoreQueryResult res = query.store()) {
           cout << "We have:" << endl;
           for (size_t i = 0; i < res.num_rows(); ++i) {
               cout << '\t' << res[i][0] << endl;
           }
       }
       else {
           cerr << "Failed to get item list: " << query.error() << endl;
           return 1;
       }
 
       return 0;
   }
   else {
       cerr << "DB connection failed: " << conn.error() << endl;
       return 1;
   }
}
Добавлено через 1 час 18 минут
C этим вроде разобрался , требовалось указать другой путь к библиотеле mysql , но теперь другие ошибки повылезали . Компилировал я так :

Bash
1
# g++ -I/usr/local/include/mysql -I/usr/include/mysql++ -L/usr/local/lib/mysql -lmysqlclient -lmysqlpp -o testsql testsql.cpp
И вот что получил:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/var/tmp//ccNWWoqe.o(.text+0x28f): In function `main':
: undefined reference to `mysqlpp::Connection::connect(char const*, char const*, char const*, char const*, unsigned int)'
/var/tmp//ccNWWoqe.o(.text+0x2b4): In function `main':
: undefined reference to `mysqlpp::Connection::query(char const*)'
/var/tmp//ccNWWoqe.o(.text+0x366): In function `main':
: undefined reference to `mysqlpp::operator<<(std::ostream&, mysqlpp::String const&)'
/var/tmp//ccNWWoqe.o(.text+0x3a9): In function `main':
: undefined reference to `mysqlpp::Query::error() const'
/var/tmp//ccNWWoqe.o(.text+0x477): In function `main':
: undefined reference to `mysqlpp::Connection::error() const'
/var/tmp//ccNWWoqe.o(.gnu.linkonce.t._ZN7mysqlpp5Query5storeEv+0x42): In function `mysqlpp::Query::store()':
: undefined reference to `mysqlpp::SQLTypeAdapter::SQLTypeAdapter(std::string const&, bool)'
/var/tmp//ccNWWoqe.o(.gnu.linkonce.t._ZN7mysqlpp5Query5storeEv+0x5b): In function `mysqlpp::Query::store()':
: undefined
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2009, 17:14
Ответы с готовыми решениями:

WIN API устарел как начать программировать на C++ .NET API (Без VisualStudio)
WIN API устарел как начать программировать на C++ .NET API (Без VisualStudio)

Компиляция error: mysql.h: Нет такого файла или каталога
при компиляции cpp файла g++ create.cpp -l /usr/include/mysql /usr/lib/mysql/libmysqlclient.so...

Ошибки при компиляции приложения с MySql Connector
Доброго времени суток! При компиляции приложения с MySql Connector возникает ошибка: ...

1
 Аватар для reich
110 / 46 / 4
Регистрация: 03.09.2009
Сообщений: 112
14.09.2009, 17:33
видимо линковщику не хватает библиотеки, в которой содержатся классы mysqlpp::Connection, mysqlpp::Query и mysqlpp::SQLTypeAdapter
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2009, 17:33
Помогаю со студенческими работами здесь

Компиляция с MySQL connector
Подскажите, как исправить, все папки прописал, заголовки тоже: #include &lt;cppconn/driver.h&gt;...

C++ Builder XE MySQL API
Заранее извиняюсь, если повторяюсь с темой... Есть такая проблема, была прога которая написана на...

Какой API MySQL использовать для c++?
Добрый день, решил разобраться с MySQL, и в вопросе ее взаимодействия с C++ возник один нюанс. Как...

Вместо русских букв выводится псевдографика в приложении-клиенте MySQl, написанном на Win32 API
Здравствуйте. Такая проблема. Нужно написать приложение &quot;Электронная книга рецептов&quot;. Приложение...

проблема с компиляцией программы ghostone++
Такая проблема, я беру готовую рабочую программу, далее делаю по описанию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru