207 похожих чатов

Что я делаю не так? conan мне нагенерил вот такой профиль [settings] arch=x86_64 build_type=Release compiler=msvc compiler.cppstd=23 compiler.runtime=dynamic compiler.runtime_type=Release compiler.version=193 os=Windows Вроде

хедер юниты должны быть, в смаке врублено всё с модулями, а import <iosteam> всё равно фейлится. Кто-то встречал такое?

12 ответов

51 просмотр

Это все прекрасно. А cmake вам умеет в модули то? Может там какие хитрые флажки нужны?

CMake не умеет хедер юниты из-за огромного оверхеда на сканирование. Для стандартной библиотеки все основые вендоры договорилисть бекпортировать import std; из c++23 в качестве расширения в c++20. Так же, CMake 3.28 (еще не вышел) может в модули без костылей

Александр Тулуп
CMake не умеет хедер юниты из-за огромного оверхед...

А CMake-у нужно про std-шные модули что знать разве? Да и вообще про какие-то? Разве там не должно быть как с заглавными: компилятору виднее, что по зависимостям, и потому он генерирует .d файл для каждого исходника (gcc так делает, например)

Alex
А CMake-у нужно про std-шные модули что знать разв...

ну надо знать где модуль находится)

Stanislav Ershov
ну надо знать где модуль находится)

Компилятор знает. По крайней мере системные. А остальные подаёт пользователь как зависимости (как сейчас подают include path's). Или вы про то, что CMake будет сам извлекать из библиотек имена моделей и подавать пути для них через флаги при кросс-зависимостях? Если да, то, повторюсь, системные компилятор знает лучше. А для пользовательских разве не хватит обычного include path?

а симейк?

Stanislav Ershov
а симейк?

А зачем ему это нужно?

Alex
А зачем ему это нужно?

чтобы скомпилировать модуль

Alex
А зачем ему это нужно?

Ага, "Давай как раньше!" - zip-архив и батник для сборки!

Stanislav Ershov
чтобы скомпилировать модуль

Ладно, видимо мне сначала нужно руками пособирать модули через чистый cli/make, чтобы понять проблему. Спасибо за попытки объяснить

Eyed-Shovel Автор вопроса
Александр Тулуп
CMake не умеет хедер юниты из-за огромного оверхед...

Понял. Насчёт стдшных модулей - решилось флажками для компилятора - /experimental:modules и /c++latest

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта