`date::parse`: соответствующая перегруженная функция не найденаC++

Программы на C++. Форум разработчиков
Anonymous
`date::parse`: соответствующая перегруженная функция не найдена

Сообщение Anonymous »

Я установил библиотеку date с помощью vcpkg install date:x64-windows и использую find_package(date CONFIG REQUIRED), чтобы использовать библиотеку в своем кроссплатформенном проекте. Я успешно нашел библиотеку (

Код: Выделить всё

date_FOUND="1"
) в C:\Dev\vcpkg\installed\x64-windows\include\date\date.h.
Мое приложение использует set(CMAKE_CXX_STANDARD 20) и когда я собираю его с помощью сообщества Visual Studio 2022, компилятор выдает следующую ошибку. Я просто конвертирую строку во временную_точку заданного формата.

Код: Выделить всё

const std::string timeString = "2020-12-18 12:30:45";
const char *fmt = "%F";
std::istringstream in(timeString);
std::chrono::time_point timeStamp;
in >> date::parse(fmt, timeStamp);

Код: Выделить всё

error C2672: 'date::parse': no matching overloaded function found
C:\Dev\vcpkg\installed\x64-windows\include\date/date.h(8169): note: could be 'unknown-type date::parse(const CharT *,Parsable &,std::basic_string &,std::chrono::minutes &)'
Он был связан с использованием:

Код: Выделить всё

target_link_libraries(main PRIVATE date::date date::date-tz)
Я разрабатываю кроссплатформенное приложение и поэтому установил библиотеку дат в Linux: ./vcpkg install date:x64-linux.
Я могу успешно собрать тот же код с помощью gcc11, и он работает в Linux.
Как я могу решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/775 ... tion-found

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