JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Зачем CMake: кроссплатформенная сборка

    C++ SELF
    31 уровень,0 лекция
    Разбираем, почему в C++ сборка быстро становится отдельной задачей: от многофайловых проектов со .cpp/ .hpp и папками include/, src/ до типичных ошибок компиляции и линковки. Показываем роль «дирижёра» над компилятором и линкером, объясняем кроссплатформенность (Visual Studio / Make / Ninja / Xcode) и фиксируем правильную модель: CMake — это описание проекта и его targets, а не «ещё один компилятор».
    Открыта
  • Минимальный CMakeLists.txt: project

    C++ SELF
    31 уровень,1 лекция
    Разбираем «скелет» CMake-проекта для C++: зачем нужен файл CMakeLists.txt, что делает команда project(...), как объявить цель через add_executable(...), почему важно фиксировать стандарт через target_compile_features(...) и как диагностировать типичную линковочную ошибку undefined reference, если забыли добавить .cpp в сборку.
    Открыта
  • Target‑подход в CMake: свойства на target

    C++ SELF
    31 уровень,2 лекция
    Разбираем, почему «глобальная магия» вроде CMAKE_CXX_FLAGS и include_directories плохо масштабируется, и как перейти к дисциплине target‑подхода: задавать стандарт через target_compile_features (например, cxx_std_23), макросы — через target_compile_definitions, а предупреждения и флаги компилятора — через target_compile_options. Отдельно фиксируем идею видимости требований ( PRIVATE/ PUBLIC/ INTERFACE) и собираем мини‑проект MiniCalc.
    Открыта
  • target_include_directories

    C++ SELF
    31 уровень,3 лекция
    Разбираем, как CMake задаёт include‑пути для конкретных целей через target_include_directories: почему компилятор не «видит» заголовки без настроек, чем отличаются области видимости PRIVATE/ PUBLIC/ INTERFACE, как include‑пути становятся транзитивными для потребителей через target_link_libraries, и как отделять публичный API ( include/) от внутренних заголовков реализации ( src/).
    Открыта
  • target_link_libraries: зависимости, линковка и транзитивность

    C++ SELF
    31 уровень,4 лекция
    Разбираем, как в CMake работает линковка target’ов через target_link_libraries, почему # include не «подтягивает» реализацию, чем отличаются PRIVATE/ PUBLIC/ INTERFACE, и как CMake протаскивает (или не протаскивает) требования по графу зависимостей. На практике собираем пример с библиотеками cli и calc и учимся диагностировать undefined reference.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush