Страница 1 из 1
<iostream> - ошибка компилятора GCC?
Добавлено: 21 сен 2015, 13:38
paolo64
Добрый день!
Задача:
Программа на С++ на 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 (ну - что-то типа такого...)
Срочно нужна подсказка, как это исправить!!!
С уважением,
Павел.
Re: <iostream> - ошибка компилятора GCC?
Добавлено: 21 сен 2015, 15:55
Romeo
Во-первых, делаю предположение, что правильным будет /usr/include/cppconn. Но это не имеет прямого отношения к ошибке.
Во-вторых, из приведённого куска makefile не видно, какое расширение у файла test. Дело в том, что gcc по умолчанию делает C компиляцию для файлов с расширением "с" и С++ компиляцию для файлов с расширением "cpp". Таким образом в "c" файле #include <iostream> не отработает.
Re: <iostream> - ошибка компилятора GCC?
Добавлено: 21 сен 2015, 16:31
paolo64
Romeo писал(а):Во-первых, делаю предположение, что правильным будет /usr/include/cppconn. Но это не имеет прямого отношения к ошибке.
Во-вторых, из приведённого куска makefile не видно, какое расширение у файла test. Дело в том, что gcc по умолчанию делает C компиляцию для файлов с расширением "с" и С++ компиляцию для файлов с расширением "cpp". Таким образом в "c" файле #include <iostream> не отработает.
Расширение ".с"
А проблема была не в этом. После установки "g++", проблема отпала...
Спасибо за ответ.
С уважением,
Павел.
Re: <iostream> - ошибка компилятора GCC?
Добавлено: 21 сен 2015, 16:39
Romeo
Если расширение поменять на "cpp", то это тоже решит проблему.
Re: <iostream> - ошибка компилятора GCC?
Добавлено: 21 сен 2015, 16:43
paolo64
Romeo писал(а):Если расширение поменять на "cpp", то это тоже решит проблему.
Оопс!
Точно... Только что проверил... Классно!!!
Как превратить потоковый вывод в строку?
Добавлено: 23 сен 2015, 10:10
paolo64
Добрый день!
Опять проблема с потоковым выводом...
Код: Выделить всё
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;
}
Как можно превратить res->getString("label"); в обычную строку char??
С уважением,
Павел.