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 ответов

49 просмотров

Это все прекрасно. А 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

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта