Направьте, пожалуйста, по правильному пути начиная от материалов условно для новичка и хотелось бы закончить глубоким пониманием всей освещенной темы. Очень желательно работать с русскоязычными доками.
Подскажите, а кто-т опробовал использовать этот метод для Visual Studio 2022? У меня выдает 403 ошибку и пишет, что "At this time, Copilot is not available in your location". Может у кого получилось?
Интересно, на каком минимальном расстоянии должны столкнуться нейтронные звезды, чтобы это стало катастрофой для жизни на Земле и есть ли такие потенциальные объекты?
Со студенчества мечтаю "вайти в геймдев" и вот на старость лет решил все-таки взять лопату и копать в этом направлении :) Спасибо за дорожную карту, для меня еще более ценно, что разложено и по направлениям! Я бы еще добавил обзор по тому же SYCL, хотя, возможно, в какой-нибудь перечисленной книге он присутствует.
Согласен, атмосфера в первой части полностью повлияла на отношение ко второй. Для меня вторая часть - это какая-то другая и менее интересная игра, проходил ее только из-за большой любви к первой.
Best practice. Разрабатывается некий проект под несколько ОС. Какой генератор лучше использовать конкретно под Windows: Ninja или Visual Studio XXX (под Windows используется именно студийный компилятор)? Почему? Если использовать Visual Studio XXX, то что делать с генерируемыми *.sln и *.vcxproj, для чего они мне?
How do it? Столкнулся со следующей проблемой: используется связка мой main() + SDL. Под Windows не хочу запускать консольное окно + "окошечное", хочу сразу "окошечное", поэтому гугл говорит использовать флаги "LINK_FLAGS = /ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS". И да, действительно, если я в CMakeLists.txt укажу "set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS")" - все работает (но странно, что Ninja генерирует: "LINK_FLAGS = /machine:x64 /debug /INCREMENTAL /subsystem:console /ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS", т.е. и консоль и окно вместе). Но, если флаги "LINK_FLAGS" вынести в пресет файл в секцию с настройками винды, т.е. освободить CMakeLists.txt от лишних зависимостей, то освободиться от запуска консоли не могу :( Как можно решить эту проблему, не засоряя CMakeLists.txt?
Использование определенного стандарта языка является тем необходимым, которое можно включать в CMakeLists? Если готовить cmake файлы для исполняемых файлов, то я, полагаю, требования к содержимому CMakeLists.txt будут менее жесткие? Опции/флаги компиляции/линковки можно использовать в CMakeLists или все-таки надо выносить?
Созрел еще один вопрос вдогонку к public header файлам. Если следовать рекомендациям использования target_sources, то соблюсти структуру дерева исходников не проблема, а как быть с public header файлами? У меня достаточно много подпапок, но для них не создаются CMakeLists.txt, по крайней мере я не видел такой практики.
Еще один вопрос по лучшим практикам: у меня src директория содержит относительно много поддиректорий с исходниками и в каждой из них я определяю CMakeLists.txt со следующим содержимым: INCLUDE("${CMAKE_CURRENT_LIST_DIR}/subdir/CMakeLists.txt") <- там, где надо подключить след. папку TARGET_SOURCES("${PROJECT_NAME}" PRIVATE "${CMAKE_CURRENT_LIST_DIR}/file01.cpp" "${CMAKE_CURRENT_LIST_DIR}/file01.h" ... ) А в "верхнем" CMakeLists.txt: ... ADD_LIBRARY("${PROJECT_NAME}" SHARED "") ... INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/src/CMakeLists.txt")
Вы для определения списка исходников используете переменную, которая в свою очередь используется, для задач, которые Вы описали. Как лучше всего включать исходники в таргет, когда и папок много, и файлов в них?
Те, кто захотят вернуться, думаю, смогут договориться без вот этой клоунады, что в посте.
Подкидывайте, не останавливайтесь
Слезы умиления застилают глаза
Там вроде бы говорится о средней плотности
Направьте, пожалуйста, по правильному пути начиная от материалов условно для новичка и хотелось бы закончить глубоким пониманием всей освещенной темы. Очень желательно работать с русскоязычными доками.
Подскажите, а кто-т опробовал использовать этот метод для Visual Studio 2022? У меня выдает 403 ошибку и пишет, что "At this time, Copilot is not available in your location". Может у кого получилось?
А Бетельгейзе, как я понимаю, обещает быть черной дырой
Интересно, на каком минимальном расстоянии должны столкнуться нейтронные звезды, чтобы это стало катастрофой для жизни на Земле и есть ли такие потенциальные объекты?
Тоже же бы хотел услышать.
Со студенчества мечтаю "вайти в геймдев" и вот на старость лет решил все-таки взять лопату и копать в этом направлении :) Спасибо за дорожную карту, для меня еще более ценно, что разложено и по направлениям!
Я бы еще добавил обзор по тому же SYCL, хотя, возможно, в какой-нибудь перечисленной книге он присутствует.
Предполагаю, что она будет медленная только в том случае, если ptr все-таки не NULL.
Согласен, атмосфера в первой части полностью повлияла на отношение ко второй. Для меня вторая часть - это какая-то другая и менее интересная игра, проходил ее только из-за большой любви к первой.
Хотелось бы видеть подобные статьи с этой вашей геометрией побольше, очень интересно :)
Да, привычка в деле. Тоже стараюсь подбирать клавиатуры где большие - Enter, Shift и Backspace.
Еще подъехала парочка вопросов :)
Best practice.
Разрабатывается некий проект под несколько ОС. Какой генератор лучше использовать конкретно под Windows: Ninja или Visual Studio XXX (под Windows используется именно студийный компилятор)? Почему?
Если использовать Visual Studio XXX, то что делать с генерируемыми *.sln и *.vcxproj, для чего они мне?
How do it?
Столкнулся со следующей проблемой: используется связка мой main() + SDL. Под Windows не хочу запускать консольное окно + "окошечное", хочу сразу "окошечное", поэтому гугл говорит использовать флаги "LINK_FLAGS = /ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS". И да, действительно, если я в CMakeLists.txt укажу "set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS")" - все работает (но странно, что Ninja генерирует: "LINK_FLAGS = /machine:x64 /debug /INCREMENTAL /subsystem:console /ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS", т.е. и консоль и окно вместе).
Но, если флаги "LINK_FLAGS" вынести в пресет файл в секцию с настройками винды, т.е. освободить CMakeLists.txt от лишних зависимостей, то освободиться от запуска консоли не могу :( Как можно решить эту проблему, не засоряя CMakeLists.txt?
Использование определенного стандарта языка является тем необходимым, которое можно включать в CMakeLists?
Если готовить cmake файлы для исполняемых файлов, то я, полагаю, требования к содержимому CMakeLists.txt будут менее жесткие? Опции/флаги компиляции/линковки можно использовать в CMakeLists или все-таки надо выносить?
Созрел еще один вопрос вдогонку к public header файлам. Если следовать рекомендациям использования target_sources, то соблюсти структуру дерева исходников не проблема, а как быть с public header файлами? У меня достаточно много подпапок, но для них не создаются CMakeLists.txt, по крайней мере я не видел такой практики.
Изначально хотел использовать file(glob), но при очередном гуглении очередного вопроса, прочитал, что лучше использовать target_sources.
Понял, спасибо! add_subdirectory взял на вооружение, поменяю в своих проектах.
Еще один вопрос по лучшим практикам: у меня src директория содержит относительно много поддиректорий с исходниками и в каждой из них я определяю CMakeLists.txt со следующим содержимым:
INCLUDE("${CMAKE_CURRENT_LIST_DIR}/subdir/CMakeLists.txt") <- там, где надо подключить след. папку
TARGET_SOURCES("${PROJECT_NAME}" PRIVATE
"${CMAKE_CURRENT_LIST_DIR}/file01.cpp"
"${CMAKE_CURRENT_LIST_DIR}/file01.h"
...
)
А в "верхнем" CMakeLists.txt:
...
ADD_LIBRARY("${PROJECT_NAME}" SHARED "")
...
INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/src/CMakeLists.txt")
Вы для определения списка исходников используете переменную, которая в свою очередь используется, для задач, которые Вы описали. Как лучше всего включать исходники в таргет, когда и папок много, и файлов в них?