Код: Выделить всё
export module M;
void foo() {}
export void bar() { foo(); }
Код: Выделить всё
import M;
int main() { bar(); }
Код: Выделить всё
cmake_minimum_required(VERSION 3.30.0)
set(CMAKE_CXX_STANDARD 23)
project(test)
add_executable(app main.cc)
target_sources(app PUBLIC FILE_SET CXX_MODULES FILES module.ixx)
Код: Выделить всё
cmake -B build -G Ninja
cmake --build build
Код: Выделить всё
cmake --build build
Редактирование модуля не изменило его двоичный интерфейс. Разве в этой ситуации не следует компилировать только сам модуль? Разве это еще не поддерживается компиляторами или CMake? Или это даже не предполагалось при проектировании модулей (хотя это очевидная оптимизация сборки)?
Подробнее здесь: https://stackoverflow.com/questions/798 ... pendencies
Мобильная версия