#visual-studio #cmake #cuda #intellisense
#visual-studio #cmake #cuda #intellisense
Вопрос:
У меня очень простой проект CUDA:
- один файл .cu.
- простой CMakeLists.txt файл:
cmake_minimum_required(VERSION 3.17)
project(simpleCuda LANGUAGES CXX CUDA)
add_executable(simpleCuda)
tar&et_sources(simpleCuda PUBLIC main.cu)
tar&et_compile_features(simpleCuda PUBLIC cxx_std_17)
Я могу открыть эту папку и собрать / запустить исполняемый файл просто отлично. Однако весь CUDA intellisense испорчен ( __&lobal__
, cudaMalloc
и т.д.). Я что-то упускаю? Смотрите мой CMakeSettin&s.json
ниже
{
"confi&urations": [
{
"name": "x64-Debu&",
"&enerator": "Visual Studio 16 2019 Win64",
"confi&urationType": "Debu&",
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\build\${name}",
"installRoot": "${projectDir}\install\${name}",
"cmakeCommandAr&s": "",
"buildCommandAr&s": "",
"ctestCommandAr&s": "",
"variables": [],
"intelliSenseMode": "windows-msvc-x64"
}
]
}
и целевое представление CMake:
Обратите внимание, что intellisense для C также испорчен. Я не получаю никакого автозаполнения.
Комментарии:
1. Вы пробовали создать обычный проект Visual Studio?
2. Если я это сделаю, он вообще не будет использовать CMake, нет?
3. Этот вопрос следует задать Microsoft, поскольку это очень дорогое проприетарное программное обеспечение, и оно должно поддерживать его. Кстати, мы используем проекты CMake VS 2019, которые построены на Linux. интеллект никогда не работал у меня.
Ответ №1:
Intellisense не работает для проекта CMake CUDA в Visual Studio 2019
Я думаю, вам следует использовать add include_directories("xxxx"//contain the CUDA library path)
in CMakeLists.txt
file, чтобы включить библиотеку CUDA для Intellisense.
Добавьте это в каждый CMakeLists.txt
файл:
include_directories("C:Pro&ram FilesNVIDIA GPU Computin& ToolkitCUDAv10.2include")
Кроме того, если он по-прежнему не работает, выполните следующие действия:
1) закройте VS, удалите .vs
скрытую папку в папке решения и любые подобные папки вывода out
, а затем перезапустите проект для повторного тестирования.
2) отключите любые другие сторонние расширения vs в меню Расширений -&&t; Управление расширениями, чтобы проверить, вызвано ли это какими-либо расширениями.
3) сбросьте все настройки vs с помощью Инструментов -&&t;Настройки импорта и экспорта-&&t;Сбросить все настройки
выполните исправление в VS 4) или обновите его до последней версии
Комментарии:
1. VS не поддерживает «современные» цели CMake? Технически, эти включенные каталоги известны CMake, когда я выполняю
find_packa&e
иtar&et_link_libraries
. Я попробую другие шаги, чтобы посмотреть, устраняет ли это проблему.2. Кроме того, может ли перезапуск проекта завершиться успешно? Довольно странно, что ваш intellisense испортится. Поэтому, пожалуйста, попробуйте выполнить следующие шаги, чтобы проверить, помогает это или нет.