Я пытаюсь скомпилировать исходные коды на C и C++. В настоящее время я использую стандарт C++ 0x для C++, добавив эту строку в файл cmake add_definitions(-std=c++0x)
.Смешивание источников C и C++ в cmake
Во время компиляции я получаю следующее предупреждение: cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C [enabled by default]
и эта ошибка: error: ‘for’ loop initial declarations are only allowed in C99 mode
относится к циклу for в коде c.
Мне интересно, как я могу установить стандарт для кода c в файле cmake.
См http://stackoverflow.com/questions/23818497/cmake-disable-std-c11-flag- for-c-files? rq = 1 – Eosis
Посмотрите на обновленный ответ, я забыл, что с предыдущим ответом вы перезаписали уже установленные флаги. –
Я заметил это, поэтому добавил стандарты к флагом. благодаря – MinaKamel