|
3 / 3 / 1
Регистрация: 13.03.2011
Сообщений: 114
|
|||||||||||
Правильная организация файлов проекта, CMake01.09.2014, 13:45. Показов 5509. Ответов 1
Метки нет (Все метки)
Здравствуйте... Из прочитанной информации по всему простору интернета у меня теперь в голове каша...
Прошу ответить людей, работающих над крупными проектами и имеющих опыт в.. этом... Я только начал разбираться с CMake, и у меня много вопросов о том как нужно организовывать файлы в проектах. Рассмотрю один из мдулей проекта как отдельный проект... Из модуля собирается ЛИБА Что есть в директории модуля: -- include -- src -- CMakeList.txt Вопрос 1: правильно ли я сделал, что в include положил только .hpp, а в src только .cpp? Или в src пихают всё, а в include только заголовочники? Я начитался всякого, и теперь у меня каша, вот два варианта CMakeList, которые я опробовал: Вариант1: CMakeList.txt
CMake error : The source directory "C:/Users/user/Desktop/Study/../SecretProject" does not exist. Вопрос 2: Ээээ.. всё, я завис... что не так? Вариант1: CMakeList.txt
Вопрос 3: это вообще не работает, я не понимаю, как указать CMake-у, что исходники в папочке src... как это сделть? Вопрос 4: по поводу set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) правильно ли я понимаю, что если я сгенерирую проект и построю, то мои либы будут в папочке /lib И ещё... если я подрублю этот модуль как подпроект (subdir()), то папочка lib создатся в "главном проекте". Сам не мог проверить, так как ещё ни один проект не построился)
0
|
|||||||||||
| 01.09.2014, 13:45 | |
|
Ответы с готовыми решениями:
1
Правильная организация cmake проекта
Ошибка генерации CodeBlocks проекта CMake`ом |
|
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
|
||||||||||||||||||||||||||
| 01.09.2014, 14:12 | ||||||||||||||||||||||||||
|
Я больше привык, что cpp и hpp лежат в одном месте. Это позволяет проще оперировать с этими файлами, в том числе и некоторые IDE предполагают, что парные файлы лежат вместе и позволяют переключаться между ними. А в отдельный include публичные заголовочные файлы могут попасть и при установке (install).
Так или иначе, при формировании проекта могут понадобиться дополнительные скрипты CMake. Например активация С++11 или отображения всех ошибок. Эти дополнительные файлы складываю в /cmake или /utils/cmake. После чего они используются в главном CMakeFile:
0
|
||||||||||||||||||||||||||
| 01.09.2014, 14:12 | |
|
Помогаю со студенческими работами здесь
2
CMake и организация сборки проекта Правильная организация проекта? Создание проекта в cmake для с и с++ файлов Сборка проекта cmake с вложенными cmake Организация рабочего процесса и CMake Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|