IntelliSense не выбирает правильный стандарт C ++ при проверке файлов CU в проекте Cmake ProjectC++

Программы на C++. Форум разработчиков
Ответить
Гость
 IntelliSense не выбирает правильный стандарт C ++ при проверке файлов CU в проекте Cmake Project

Сообщение Гость »

Я работаю над проектом на основе CUDA, где мы используем вложенные пространства имен в файлах cu . В то время как код компилирует, Intellisense, похоже, не обнаруживает современных особенностей компилятора. Например, < /p>

Код: Выделить всё

namespace A::B {

}
заставит Intellisense неудачным с «квалифицированным именем не разрешено». Сообщение об ошибке, а исправление для всего файла будет отключена/сломана. определили стандарт C ++ до> 17 (где было введено гнездование пространства имен) в cmakelists.txt во всех возможных ароматах и ​​комбинациях:

Код: Выделить всё

set(CMAKE_CUDA_STANDARD 20)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -std=c++20")
Intellisense также ведет себя правильно в файлах cpp , но не сбои в файлах cu . Как упомянуто компиляцию, но я хотел бы иметь функционирующий Intellisense. Как я могу проверить, какой CPP Standard Intellisense использует для файлов Cu и как адаптировать его так же, как и для компиляции? рабочие станции и с разными версиями CUDA и Vs. В настоящее время я тестирую с CUDA 12.5 и VS 17.12.4.
Обратите внимание, что тот же код правильно проанализируется другими инструментами, такими как Clangd.

Подробнее здесь: https://stackoverflow.com/questions/794 ... s-in-cmake
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»