Size: a a a

2020 August 26

NG

Nikita Griazin in pro.cxx
Alex Ф-ф-фэils!🌠︙
Убедись, что везде одинаковые флаги линковки вижаковского C-Run-Time. Эта либа хочет многопоточный дебажный рантайм , его надо будет указать. Где-то на мсдн была статья, как это можно сделать, и из-за чего такая ошибка, например, может возникать при миграции га новую студию (там, емнип, какие-то заморочки с ucrt их, новой оптимизированной CRT)
я думаю это из за того что одна из либ компиляется под 100 sdk
источник

NG

Nikita Griazin in pro.cxx
флаги я проверял везде одинаковые)
источник

m

magras in pro.cxx
David Sorokin
А именно, допустим есть некоторый тип «Activity<Item, Impl = …>» с автоматическим преобразованием в «Activity<Item>», то есть, когда Impl становится неким стандартным. Теперь я хочу создать концепт «template<typename From, To> concept ActivityLike = std::convertible_to<From, Activity<To>>». Далее, есть куча функций вида «template<typename MapItem, typename MapFn> auto map(MapFn&&)», где автоматически выводится тип результата. Там получается что-то типа «Activiity<MapItem, SomeComplexImpl>». Вот, и я хочу в сигнатуре функции явно сказать, что некий выводимый тип результата Res удовлетворяет концепту «ActivityLike<Res, MapItem>». Все было бы просто, если бы в коде можно было бы явно ссылаться на тип Res, но он выводится, и там стоит «auto». Если попытаться ввести Res явно, то ломается выводилка типов у GCC. Может, у кого есть идеи? Или просто укажите хорошее введение по концептам с погружением. Все утро перед работой голову ломал. Если что, это хобби в свободное время. Коллег так мучать не стал бы)
Концепты обычно применяют для того чтобы ограничить входные параметры. Результат функции описывать концептом звучит немного странно, но я не очень хорошо знаком с ними.

Кажется этого можно добиться если явно определить тип результата. Что-нибудь такого плана:
template<typename MapItem, typename MapFn, typename Result = ...>
Result map(MapFn&&)
 requires ActivityLike<Result>
{ ... }
источник

IZ

Ilia Zviagin in pro.cxx
Nikita Griazin
Доброго времени суток. Пытаюсь прикрутить древнюю либу с++ к uwp. Уперся в ошибку fatal error LNK1104: cannot open file 'LIBCMTD.lib', все варианты которые нашел в сети пробовал. Честно говоря чувствую, что в тупике. Быть может кто то ранее оказывался в подобной ситуации?
Ты эту либо пересобирал?
источник

NG

Nikita Griazin in pro.cxx
я даже удалил весь проект и солюшен и по новой настроил) и даже в xml проверил и от руки написал, потом обратно сгенерил через студию. Либа часть солюшена - зависимый проект
источник

A

Alex Ф-ф-фэils!🌠︙... in pro.cxx
Nikita Griazin
я думаю это из за того что одна из либ компиляется под 100 sdk
Добавь к ней в линковку эту либку
источник

IZ

Ilia Zviagin in pro.cxx
Nikita Griazin
я даже удалил весь проект и солюшен и по новой настроил) и даже в xml проверил и от руки написал, потом обратно сгенерил через студию. Либа часть солюшена - зависимый проект
Я не понял, ты их исходников эту библиотеку под UWP собирал или нет?
источник

IZ

Ilia Zviagin in pro.cxx
Nikita Griazin
я даже удалил весь проект и солюшен и по новой настроил) и даже в xml проверил и от руки написал, потом обратно сгенерил через студию. Либа часть солюшена - зависимый проект
UWP это что? То что я думаю или как?
источник

IZ

Ilia Zviagin in pro.cxx
Alex Ф-ф-фэils!🌠︙
Добавь к ней в линковку эту либку
Это статический рантайм VC. Он не нужен если UWP
источник

NG

Nikita Griazin in pro.cxx
Universal Windows Platform
источник

IZ

Ilia Zviagin in pro.cxx
Nikita Griazin
Universal Windows Platform
Ну так , UWP - это что в первую очередь?
источник

IZ

Ilia Zviagin in pro.cxx
Nikita Griazin
Universal Windows Platform
У тебя в сборке есть параметры (один из)

/MTd ,
/MT
источник

NG

Nikita Griazin in pro.cxx
MDd
источник

ГH

Гласси Hudobin in pro.cxx
Вангую неправильную библиотеку в свойствах линковщика. Либо неправильную комбинацию у проектов в Configuration Manager.
источник

NG

Nikita Griazin in pro.cxx
Неправильную библиотеку?)
источник

ГH

Гласси Hudobin in pro.cxx
Nikita Griazin
Неправильную библиотеку?)
Новый линковщик берет бинарник, собранный старым компилятором.
источник

IZ

Ilia Zviagin in pro.cxx
Вроде бы как UWP включает аналог CRT, и ему уже не нужна CRT, Ты должен ВСЕ компоненты собирать как для UWP.

Могу ошибаться.
источник

NG

Nikita Griazin in pro.cxx
ну в идеале да
источник

NG

Nikita Griazin in pro.cxx
жаль не могу)
источник

NG

Nikita Griazin in pro.cxx
древняя древность не соберется нормально или надо половину переписывать)
источник