Ошибка в заголовке Poco: невозможно найти строковый литерал оператора 'operator''s' с аргументами 'const char [1]', 'unsC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка в заголовке Poco: невозможно найти строковый литерал оператора 'operator''s' с аргументами 'const char [1]', 'uns

Сообщение Anonymous »

Я использую класс Timer Poco в своем приложении на C++. После перехода на более свежую версию компилятора C++ я внезапно получил кучу ошибок, связанных с файлами заголовков, которые я всегда использовал. Один из них:
In file included from /home/jacek/bin/sysroot/usr/include/Poco/TimedNotificationQueue.h:22,
from /home/jacek/bin/sysroot/usr/include/Poco/Util/Timer.h:23,
from ProceduralTimerTaskAdapter.cpp:4:
/home/jacek/bin/sysroot/usr/include/Poco/Notification.h:41:41: error: unable to find string literal operator 'operator""s' with 'const char [1]', 'unsigned int' arguments
Notification(const std::string& name = ""s);
^~~

Код клиента представляет собой простую директиву #include:
#include

Такая ошибка уже возникает, когда мой компилятор пытается переварить файлы заголовков Poco.
Это мой компилятор:
╭─jacek@epica /import/valen/autoradio
╰─➤ arm-unknown-linux-gnueabihf-g++ --version
arm-unknown-linux-gnueabihf-g++ (crosstool-NG 1.24.0) 8.3.0

Версия Poco — 1.14.2 Basic Edition.
Обратите внимание, что это код, который поставляется с программным обеспечением сторонних производителей, поэтому я не могу здесь многое изменить (за исключением замены Poco каким-либо другим продуктом, но это была бы пустая трата времени).
Здесь, в SO, есть похожий, но не идентичный вопрос: [невозможно найти строковый литерал оператора 'operator''conteudo' с аргументами 'const char [43]', 'unsigned int'][1] Там была строка-в-строке, которая вызвала ошибку.
Обновление: Предложение использовать пространство имен std::string_literals, к сожалению, не помогло, но представило другое ошибка:
ProceduralTimerTaskAdapter.cpp:3:22: error: 'string_literals' is not a namespace-name
using namespace std::string_literals;
^~~~~~~~~~~~~~~
ProceduralTimerTaskAdapter.cpp:3:37: error: expected namespace-name before ';' token
using namespace std::string_literals;```

[1]: https://stackoverflow.com/questions/726 ... st-char-43


Подробнее здесь: https://stackoverflow.com/questions/798 ... rators-wit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»