Чтобы правильно скомпилировать мой источник на Windows, мне нужно передать флаг EHs
в MSV C. Обычно это просто:
cl -EHs -c ...
При сборке для ускорения GPU мне нужно nvcc
, чтобы передать этот флаг, когда он вызывает cl
под капотом. Я просто делаю:
nvcc -dc -ccbin cl -Xcompiler -EHs ...
пока cl
выдает предупреждение:
warning C4297: 'someFuncInMyCode': function assumed not to throw an exception but does
note: The function is extern "C" and /EHc was specified
Кажется, cl
получает флаг EHc
вместо EHs
, игнорируя мой флаг прошел через -Xcompiler
. нет предупреждения от MSV C о том, что мой аргумент EHs
был переопределен.
Как я могу предотвратить пропуск nv cc EHc
(если это действительно происходит), в противном случае есть ошибка в моей пересылке cl
флагов?