Я пытаюсь проверить соединение с моей базой данных postgreSQL. Я установил libpqxx отсюда официальный клиентский API C++ для PostgreSQL.
Я использую последнюю версию CLion для своего проекта, GCC 8.1 в ОС Fedora 28. и я собираюсь использовать стандарт C++11. Когда я пытаюсь скомпилировать свой код, я получаю:
/usr/local/include/pqxx/internal/statement_parameters.hxx:213:13: error: ‘experimental’ in namespace ‘std’ does not name a type
const std::experimental::optional<Arg> &arg)
^~~~~~~~~~~~
/usr/local/include/pqxx/internal/statement_parameters.hxx:213:35: error: expected unqualified-id before ‘<’ token
const std::experimental::optional<Arg> &arg)
^
/usr/local/include/pqxx/internal/statement_parameters.hxx:213:35: error: expected ‘)’ before ‘<’ token
const std::experimental::optional<Arg> &arg)
^
)
/usr/local/include/pqxx/internal/statement_parameters.hxx:212:40: note: to match this ‘(’
template<typename Arg> void add_field(
^
/usr/local/include/pqxx/internal/statement_parameters.hxx:213:35: error: expected initializer before ‘<’ token
const std::experimental::optional<Arg> &arg)
Поэтому я думаю, что что-то не так с моей конфигурацией libpqxx или моим использованием.
- Должен ли я включать некоторую информацию о pqxx в CMakeLists.txt или достаточно использовать
#include <pqxx/pqxx>
? Использование#include <pqxx/pqxx>
не выводит никаких нераспознанных ошибок. - Нужно ли настраивать libpqxx для использования C++11 и переустанавливать его. Если да, то какой правильный флаг использовать для установки определенного стандарта С++ при выполнении
./configure
? Я не нашел никакой информации об этом на официальном сайте и в Интернете. - Должен ли я добавить некоторые настройки в CLion для сборки моего проекта на C++11?
experimental::optional
, а не на libpqxx, и я думаю, что это было частью C++11. Поэтому это может помочь Как включить C++11 в CLion? - person acraig5075   schedule 11.06.2018set(CXX_STANDARD 11)
в своем CMakeFile. - person TalG   schedule 11.06.2018