Несовместимые параметры командной строки o2 и rtc1
Visual Studio: ошибка командной строки D8016: параметры командной строки ‘/ Ox’ и ‘/ RTC’ несовместимы
Я использую Visual Studio 2012 для написания проекта C ++. При создании проекта я пытался использовать оптимизацию O2 или Ox. Но это вызвало ошибку, что «cl: ошибка командной строки D8016: параметры командной строки ‘/ Ox’ и ‘/ RTC’ несовместимы».
Я пытался найти решение в Интернете, но у меня это не сработало.
Надеюсь, кто-нибудь сможет мне помочь.
3 ответа
В остальном сообщение об ошибке ясно:
Visual Studio: ошибка командной строки D0816: параметры командной строки ‘/ Ox’ и ‘/ RTC’ несовместимы
Но вы также можете увидеть описание этого типа ошибки здесь:
Если вы скомпилируете свою программу из командной строки с использованием любого из параметров компилятора / RTC, любые инструкции по оптимизации прагмы в вашем коде будут автоматически завершаться ошибкой. Это связано с тем, что проверки ошибок во время выполнения недопустимы в выпускаемой (оптимизированной) сборке.
Вы должны использовать / RTC для сборок разработки; / RTC не следует использовать для розничной сборки. / RTC нельзя использовать с оптимизацией компилятора (параметры / O (код оптимизации)). Образ программы, созданный с помощью / RTC, будет немного больше и немного медленнее, чем образ, созданный с помощью / Od (до 5 процентов медленнее, чем сборка / Od).
Согласно документации MSDN: вы не можете использовать /RTC с параметрами /O (код оптимизации).
Если вы хотите использовать оптимизацию, отключите флаг /RTC (или отключите оптимизацию ваших проверок времени выполнения).
Или, чтобы избежать всего этого, создайте отдельные конфигурации сборки, которые имеют отдельные флаги по мере необходимости (например, сборка отладки и выпуска).
Чтобы отключить /RTC через графический интерфейс, просто перейдите в ProjectProperties / C / C ++ / CodeGeneration:
И установите «Basuc Runtime Checks» на значение по умолчанию.
. или удалите /RTC из командной строки, если построено через интерфейс командной строки
. или отключите его в vcxproj-файле, изменив
Visual Studio: ошибка командной строки D8016: параметры командной строки «/Ox » и «/ RTC » несовместимы
Я использую Visual Studio 2012 для написания проекта C++. Я пытался использовать оптимизацию O2 или Ox при создании проекта. Но это вызвало ошибку, которая «cl: ошибка командной строки D8016: параметры командной строки «/Ox » и «/ RTC » несовместимы.»
Я пытался найти решение в интернете, но это не сработало для меня.
надеюсь, кто-нибудь сможет мне помочь.
3 ответов
во-первых, ваш код ошибки неверен. Вероятно, вы допустили ошибку при публикации, как это должно быть D8016, а не D0816. Надеюсь, вы не совершили других ошибок, которые могли бы ввести нас в заблуждение.
кроме этого, сообщение об ошибке ясно:
Visual Studio: ошибка командной строки D0816: параметры командной строки «/Ox » и «/ RTC » несовместимы
но можно посмотреть описание этой ошибки в здесь:
раствор для выключения /RTC для сборки выпуска и используйте его только для отладочных сборок для поиска проблем. Вижу соответствующая документация, который также доступен с первого ссылка выше, для более подробной информации:
проверка ошибок во время выполнения-это способ поиска проблем в запущенном коде; дополнительные сведения см. В разделе Как использовать собственные проверки во время выполнения.
Если вы скомпилируете свою программу в командной строке, используя любой из параметров компилятора /RTC, любые инструкции Pragma optimize в вашем коде будут беззвучно завершаться ошибкой. Это связано с тем, что проверки ошибок во время выполнения недопустимы в сборке выпуска (оптимизированной).
вы должны использовать /RTC для сборок разработки; /RTC не должен использоваться для розничной сборки. /RTC нельзя использовать с оптимизациями компилятора (/o Options (Optimize Code)). Изображение программы, построенное с /RTC, будет немного больше и немного медленнее, чем изображение, построенное с /Od (до 5 процентов медленнее, чем сборка /Od).
Если вы хотите использовать оптимизацию, выключить /RTC флаг (или отключить оптимизацию проверки времени выполнения).
или, чтобы избежать всего этого, создайте отдельные конфигурации сборки, которые имеют отдельные флаги по мере необходимости (например, сборка отладки и выпуска).
в свою очередь /RTC off через GUI, просто перейдите к ProjectProperties/C / C++ / CodeGeneration:
и набор «все сделано удобно, просто проверки» по умолчанию.
. или удалить /RTC из командной строки, Если построен через интерфейс командной строки
. или отключите его в vcxproj-файле, изменив
Visual Studio: ошибка командной строки D8016: опции командной строки ‘/Ox’ и ‘/RTC’ несовместимы
Я использую Visual Studio 2012 для написания проекта на С++. Я пытался использовать оптимизацию O2 или Ox при создании проекта. Но это вызвало ошибку, которая
“cl: ошибка командной строки D8016: опции командной строки ‘/Ox’ и ‘/RTC’ несовместимы.”
Я попытался найти решение из Интернета, но это не сработало для меня.
Надеюсь, что кто-то может дать мне руку.
Прежде всего, ваш код ошибки неверен. Вероятно, вы допустили ошибку при публикации, так как это должен быть D8016, а не D0816. Надеюсь, вы не совершили других ошибок, которые могли бы ввести нас в заблуждение…
Кроме этого, сообщение об ошибке ясно:
Visual Studio: ошибка командной строки D0816: опции командной строки ‘/Ox’ и ‘/RTC’ несовместимы
Но вы также можете увидеть описание этого типа ошибки здесь:
Короткий ответ – как говорит ошибка – вы не можете использовать оба из них одновременно. Жизнь полна компромиссов, вам нужно будет выбрать любой из них, что более важно для вас.
Решение состоит в том, чтобы отключить /RTC для сборки релиза и использовать его только для сборки отладки, чтобы найти проблемы. См. соответствующую документацию, которая также доступна по первой ссылке выше, для более подробной информации:
Проверка ошибок времени выполнения – это способ поиска проблем в вашем рабочем коде; для получения дополнительной информации см. Практическое руководство. Использование собственных проверок времени выполнения.
Если вы компилируете свою программу в командной строке с использованием любых параметров компилятора /RTC, любые инструкции оптимизации pragma в вашем коде будут бесшумно терпеть неудачу. Это связано с тем, что проверки выполнения во время выполнения недействительны в версии (оптимизированной) версии.
Вы должны использовать /RTC для разработки; /RTC не следует использовать для розничной сборки. /RTC нельзя использовать с оптимизацией компилятора (/O Options (Оптимизировать код)). Изображение программы, построенное с помощью /RTC, будет немного больше и немного медленнее, чем изображение, построенное с /Od (до 5 процентов медленнее, чем сборка /Od ).
Если вы хотите использовать оптимизацию, отключите флаг /RTC (или отключите оптимизацию ваших проверок времени ожидания).
Или, чтобы избежать всего этого, создайте отдельные конфигурации компоновки, в которых необходимы отдельные флаги (например, сборка отладки и выпуска).
Visual Studio: ошибка командной строки D8016: параметры командной строки «/ Ox» и «/ RTC» несовместимы
Я использую Visual Studio 2012 для написания C ++ проекта. Я пытался использовать O2 или Ox оптимизацию при создании проекта. Но это вызвало ошибку,
msgstr «cl: ошибка командной строки D8016: параметры командной строки ‘/ Ox’ и ‘/ RTC’ несовместимы.»
Я пытался найти решение в интернете, но у меня не получилось.
Надеюсь, кто-нибудь может мне помочь.
Решение
Перво-наперво, ваш код ошибки неверен. Вы, вероятно, допустили ошибку при публикации в должном порядке D8016, а не D0816. Надеюсь, вы не сделали других ошибок, которые могли бы ввести нас в заблуждение …
Кроме этого, сообщение об ошибке ясно:
Visual Studio: ошибка командной строки D0816: параметры командной строки «/ Ox» и «/ RTC» несовместимы
Но вы также можете увидеть описание этого типа ошибки здесь:
Короткий ответ — как говорится в ошибке — вы не можете использовать оба из них одновременно. Жизнь полна компромиссов, вам нужно будет выбрать любой из них, какой из них важнее для вас.
Проверка ошибок во время выполнения — это способ найти проблемы в выполняемом коде; для получения дополнительной информации см. Практическое руководство. Использование собственных проверок во время выполнения.
Если вы скомпилируете свою программу из командной строки, используя любой из параметров компилятора / RTC, любые инструкции по оптимизации прагмы в вашем коде будут молча терпеть неудачу. Это связано с тем, что проверки ошибок во время выполнения недопустимы в сборке выпуска (оптимизированной).
Вы должны использовать / RTC для разработки сборки; / RTC не должен использоваться для розничной сборки. / RTC нельзя использовать с оптимизацией компилятора (/ O Опции (Оптимизировать код)). Образ программы, созданный с помощью / RTC, будет немного больше и немного медленнее, чем образ, созданный с помощью / Od (до 5 процентов медленнее, чем сборка / Od).
Другие решения
Если вы хотите использовать оптимизации, отключите /RTC флаг (или отключить оптимизацию ваших проверок времени выполнения).
Или, чтобы избежать всего этого, создайте отдельные конфигурации сборки, которые имеют необходимые флаги (например, отладочную и выпускную сборки).
Превратить /RTC отключить через графический интерфейс, просто перейдите в ProjectProperties / C / C ++ / CodeGeneration:
и установите «Проверки времени выполнения Basuc» на значение по умолчанию.
… или удалить /RTC из командной строки, если построен через интерфейс командной строки
… или отключите его в файле vcxproj, изменив
Error D8016 ‘/RTC1’ and ‘/O2’ command-line options are incompatible #21
Comments
SuperMoran commented Mar 31, 2017
Hi, I am using thexFaceTracker2 when there is a problem, add the plugin, do not add code to run will appear ‘/ RTC1’ and ‘/ O2 error, can you help me, thanks
The text was updated successfully, but these errors were encountered:
We are unable to convert the task to an issue at this time. Please try again.
The issue was successfully created but we are unable to update the comment at this time.
SuperMoran commented Mar 31, 2017
HalfdanJ commented Mar 31, 2017
Sorry, but I don’t understand your problem. Don’t know what rtc1 means
SuperMoran commented Apr 1, 2017
I use the visual studio 2015, I would like to ask the use ofxFaceTracker2 what needs to build what environment, because the compiler will show unresolved external symbol
HalfdanJ commented Apr 14, 2017
I’m sorry, I dont have experience with visual studio. I would probably recommend you look at ofxDlib
sebasobotka commented Apr 21, 2017 •
EDIT!
This special flag -O2 is passed by addon_config.mk file. Delete it and no need to delete it manually in each example-project.
Bendegreef commented Apr 26, 2017
Thanks for the instructions!
But i’m still getting «cannot open input file ‘dlib.lib’.
I’m sure I followed your instructions right.
sebasobotka commented Apr 26, 2017 •
Be sure that you have that file in folder /libs/dlib/lib/win/Release
Check the Configuration and Platform options marked by red rectangle out, there are 4 possibilities:
debug win32
release win32
debug x64
release x64
The static lib file was compiled for 64 bit so you need to compile project in Release mode, x64 and set path and input for Release and x64.

SuperMoran commented May 11, 2017
Thanks for the instructions!
It’s very helpful to me.
sebasobotka commented Sep 4, 2017
Please, read again above carefully. You need to have compiled library (dlib) to static file (in your case in 64bit mode) and add it as described above. Chosen platform is very important.
teganscott commented Oct 11, 2017
I’m getting the ‘CreateSemaphore’ error, and you said the fix was in the window_magic.h file. What exactly did you do to this file to make it work?
sebasobotka commented Oct 11, 2017
teganscott commented Oct 11, 2017
Thank you! That fixed it!
mhaghighat commented Jan 5, 2018 •
Right click on the project in the Solution Explorer and click on Properties and go to:
Configuration Properties => C/C++ => Code Generation
Set the «Basic Runtime Checks» to «Default». You’ll be OK then.
gbernal commented Nov 17, 2018
Thank you, everyone, for the collective effort, a lot of the pointers help me get rid of errors, however, I’m getting more errors now.
Severity Code Description Project File Line Suppression State Error LNK1120 9 unresolved externals facetracking01 C:\Users\gbernal\Documents\of_v0.9.8_vs_release\apps\myApps\facetracking01\bin\facetracking01.exe 1 Error LNK2001 unresolved external symbol «public: unsigned int __cdecl dlib::entropy_decoder_kernel_2::get_target(unsigned int)» (?get_target@entropy_decoder_kernel_2@dlib@@QEAAII@Z) facetracking01 C:\Users\gbernal\Documents\of_v0.9.8_vs_release\apps\myApps\facetracking01\ofxFaceTracker2.obj 1 Error LNK2001 unresolved external symbol «public: virtual __cdecl dlib::base64::
base64(void)» (??1base64@dlib@@UEAA@XZ) facetracking01 C:\Users\gbernal\Documents\of_v0.9.8_vs_release\apps\myApps\facetracking01\ofxFaceTracker2.obj 1 Error LNK2001 unresolved external symbol «public: virtual __cdecl dlib::entropy_decoder_kernel_2::





