У меня есть следующая задача: я включил предварительные заголовки для моего проекта Cmake с использованием target_precompile_headers ($ {application_name} private include/precompilled/pch.h) . Это сработало, однако только для недавно сгенерированного проекта. Если я хочу добавить новый исходный файл в свой проект, после генерации, он бросит эту ошибку CompiletTime: Ошибка C1010: неожиданный конец файла при поиске предварительно скомпилированного заголовка. Вы забыли добавить «#include» path/to/cmake_pch.hxx »к вашему источнику? . Единственное решение сейчас заключается в том, чтобы полностью восстановить проект после каждого нового исходного файла, который я добавляю. Это не может быть решением, верно? Кто -нибудь знает, что может быть исправлением?cmake_minimum_required(VERSION 3.20)
project(artisDX)
set(CMAKE_CXX_STANDARD 20)
message(STATUS "Configuring sources...")
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(APPLICATION_NAME "artisDX")
file(GLOB_RECURSE ARTISDX_SOURCES "src/*.cpp")
file(GLOB_RECURSE ARTISDX_HEADERS "include/*.h")
add_executable(${APPLICATION_NAME} ${ARTISDX_SOURCES} ${ARTISDX_HEADERS})
target_precompile_headers(${APPLICATION_NAME} PRIVATE include/precompiled/pch.h)
message(STATUS "Configuring external libraries...")
if(NOT EXISTS ${CMAKE_BINARY_DIR}/cmake/CPM.cmake)
file(DOWNLOAD https://github.com/cpm-cmake/CPM.cmake/ ... /CPM.cmake
${CMAKE_BINARY_DIR}/cmake/CPM.cmake
)
endif()
include(${CMAKE_BINARY_DIR}/cmake/CPM.cmake)
include(extern/glm.cmake)
include(extern/imgui.cmake)
include(extern/fastgltf.cmake)
include(extern/d3dx12.cmake)
include(extern/directxtex.cmake)
message(STATUS "External libraries configured successfully.")
# Add include directories
target_include_directories(${APPLICATION_NAME} PRIVATE include)
target_link_libraries(
${APPLICATION_NAME}
d3d12
dxgi
dxguid
D3DCompiler
DearImGui
fastgltf
DirectXTex
)
### Organization in VS ###
file(GLOB_RECURSE ARTISDX_SHADERS "shaders/*.fx")
set_source_files_properties(${ARTISDX_SHADERS} PROPERTIES HEADER_FILE_ONLY TRUE)
target_sources(${APPLICATION_NAME} PRIVATE ${ARTISDX_SHADERS})
source_group(TREE "${CMAKE_SOURCE_DIR}/shaders" PREFIX "shaders" FILES ${ARTISDX_SHADERS})
# Create filters
source_group(TREE "${CMAKE_SOURCE_DIR}/src" PREFIX "src" FILES ${ARTISDX_SOURCES})
source_group(TREE "${CMAKE_SOURCE_DIR}/include" PREFIX "include" FILES ${ARTISDX_HEADERS})
# Set artisDX as the startup project - only works for Visual Studio
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT artisDX)
Подробнее здесь: https://stackoverflow.com/questions/796 ... iles-cmake
Ошибка C1010 при использовании предварительных заголовков и добавления новых исходных файлов [Cmake] [Visual Studio] ⇐ C++
Программы на C++. Форум разработчиков
1751455023
Anonymous
У меня есть следующая задача: я включил предварительные заголовки для моего проекта Cmake с использованием target_precompile_headers ($ {application_name} private include/precompilled/pch.h) . Это сработало, однако только для недавно сгенерированного проекта. Если я хочу добавить новый исходный файл в свой проект, после генерации, он бросит эту ошибку CompiletTime: Ошибка C1010: неожиданный конец файла при поиске предварительно скомпилированного заголовка. Вы забыли добавить «#include» path/to/cmake_pch.hxx »к вашему источнику? . Единственное решение сейчас заключается в том, чтобы полностью восстановить проект после каждого нового исходного файла, который я добавляю. Это не может быть решением, верно? Кто -нибудь знает, что может быть исправлением?cmake_minimum_required(VERSION 3.20)
project(artisDX)
set(CMAKE_CXX_STANDARD 20)
message(STATUS "Configuring sources...")
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(APPLICATION_NAME "artisDX")
file(GLOB_RECURSE ARTISDX_SOURCES "src/*.cpp")
file(GLOB_RECURSE ARTISDX_HEADERS "include/*.h")
add_executable(${APPLICATION_NAME} ${ARTISDX_SOURCES} ${ARTISDX_HEADERS})
target_precompile_headers(${APPLICATION_NAME} PRIVATE include/precompiled/pch.h)
message(STATUS "Configuring external libraries...")
if(NOT EXISTS ${CMAKE_BINARY_DIR}/cmake/CPM.cmake)
file(DOWNLOAD https://github.com/cpm-cmake/CPM.cmake/releases/latest/download/CPM.cmake
${CMAKE_BINARY_DIR}/cmake/CPM.cmake
)
endif()
include(${CMAKE_BINARY_DIR}/cmake/CPM.cmake)
include(extern/glm.cmake)
include(extern/imgui.cmake)
include(extern/fastgltf.cmake)
include(extern/d3dx12.cmake)
include(extern/directxtex.cmake)
message(STATUS "External libraries configured successfully.")
# Add include directories
target_include_directories(${APPLICATION_NAME} PRIVATE include)
target_link_libraries(
${APPLICATION_NAME}
d3d12
dxgi
dxguid
D3DCompiler
DearImGui
fastgltf
DirectXTex
)
### Organization in VS ###
file(GLOB_RECURSE ARTISDX_SHADERS "shaders/*.fx")
set_source_files_properties(${ARTISDX_SHADERS} PROPERTIES HEADER_FILE_ONLY TRUE)
target_sources(${APPLICATION_NAME} PRIVATE ${ARTISDX_SHADERS})
source_group(TREE "${CMAKE_SOURCE_DIR}/shaders" PREFIX "shaders" FILES ${ARTISDX_SHADERS})
# Create filters
source_group(TREE "${CMAKE_SOURCE_DIR}/src" PREFIX "src" FILES ${ARTISDX_SOURCES})
source_group(TREE "${CMAKE_SOURCE_DIR}/include" PREFIX "include" FILES ${ARTISDX_HEADERS})
# Set artisDX as the startup project - only works for Visual Studio
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT artisDX)
Подробнее здесь: [url]https://stackoverflow.com/questions/79687149/error-c1010-when-using-precompiled-headers-and-adding-new-source-files-cmake[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия