Почему препроцессор #Pragma работает в тестовом проекте, но не в моем главном?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему препроцессор #Pragma работает в тестовом проекте, но не в моем главном?

Сообщение Anonymous »

Без возможности использовать #warning в Visual C ++ я хочу распечатать предупреждающее сообщение во время сборки и попытаться с:

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

#pragma message ( "Warning message" )
#pragma message ( TODO "Warning message" )
< /code>
Первая строка не генерирует вывод, вторая строка Сообщение об ошибке: < /p>



Я затем создаю тривиальный тестовый проект, и здесь все работает так же, как и ожидалось, то есть «Предупреждающее сообщение» и предыдущая ошибка препроцессора/компилятора. Может ли набор конкретных параметров компилятора отключить #Pragma 
директивы препроцессора? Есть ли связь между #pragma уровнем вывода и предупреждения?cmake_minimum_required (VERSION 3.20)
project ("test")
add_executable (test "test.cpp" )
set_property(TARGET test PROPERTY CXX_STANDARD 20)
< /code>
исходный файл: < /p>
// test.cpp
#pragma message( __FILE__ " : Hello World!" )
#pragma message( TODO " : Hello World!" )

int main()
{}
< /code>
Этот тривиальный проект также является минимальным воспроизводимым примером реального проекта. - Это проблема препроцессора, и я уже описал, что происходит.


Подробнее здесь: https://stackoverflow.com/questions/796 ... y-main-one
Ответить

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

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

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

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

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