Добрый день!
Задача:
Программа на С++ на Linux (SentOS6).
Включил хеадер:
#include <iostream>
в программе с MySQL connector...
При компиляции пишет:
Makefile
Makefile:
---
CC=gcc
test: test.o
$(CC) -o ../cgi-bin/test -I/usr/includ/cppconn -L/usr/lib test.o -lm -lmysqlcppconn -lz
---
error - iostream: File not found (ну - что-то типа такого...)
Срочно нужна подсказка, как это исправить!!!
С уважением,
Павел.
<iostream> - ошибка компилятора GCC?
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Во-первых, делаю предположение, что правильным будет /usr/include/cppconn. Но это не имеет прямого отношения к ошибке.
Во-вторых, из приведённого куска makefile не видно, какое расширение у файла test. Дело в том, что gcc по умолчанию делает C компиляцию для файлов с расширением "с" и С++ компиляцию для файлов с расширением "cpp". Таким образом в "c" файле #include <iostream> не отработает.
Во-вторых, из приведённого куска makefile не видно, какое расширение у файла test. Дело в том, что gcc по умолчанию делает C компиляцию для файлов с расширением "с" и С++ компиляцию для файлов с расширением "cpp". Таким образом в "c" файле #include <iostream> не отработает.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Romeo писал(а):Во-первых, делаю предположение, что правильным будет /usr/include/cppconn. Но это не имеет прямого отношения к ошибке.
Во-вторых, из приведённого куска makefile не видно, какое расширение у файла test. Дело в том, что gcc по умолчанию делает C компиляцию для файлов с расширением "с" и С++ компиляцию для файлов с расширением "cpp". Таким образом в "c" файле #include <iostream> не отработает.
Расширение ".с"
А проблема была не в этом. После установки "g++", проблема отпала...
Спасибо за ответ.
С уважением,
Павел.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Если расширение поменять на "cpp", то это тоже решит проблему.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Romeo писал(а):Если расширение поменять на "cpp", то это тоже решит проблему.
Оопс!
Точно... Только что проверил... Классно!!!
Добрый день!
Опять проблема с потоковым выводом...
Как можно превратить res->getString("label"); в обычную строку char??
С уважением,
Павел.
Опять проблема с потоковым выводом...
Код: Выделить всё
res = stmt->executeQuery("SELECT id, label FROM test ORDER BY id ASC");
while (res->next()) {
// You can use either numeric offsets...
cout << "id = " << res->getInt(1); // getInt(1) returns the first column
// ... or column names for accessing results.
// The latter is recommended.
cout << ", label = '" << res->getString("label"); << "'" << endl;
}
С уважением,
Павел.