Nano Hash - криптовалюты, майнинг, программирование

Как определить цель Qt Creator (отладка / выпуск) (Visual Studio)

Поэтому я использую qmake для создания своей программы, но у меня всегда возникает конфликт между моими библиотеками отладки и повышения выпуска с сообщением:

libboost_system-vc120-mt-s-1_58.lib(error_code.obj):-1: error: LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj

Я хотел бы сделать это автоматизированным таким образом, чтобы выбора отладки или выпуска из Qt Creator было достаточно для создания правильной версии. Я видел другие решения, такие как здесь , но это не работает. Причину, по которой это не работает, можно увидеть, вызвав следующую команду как для отладки, так и для выпуска:

message($$CONFIG)

который распечатает конфигурацию qmake. Результаты следующие:

Для выпуска:

lex yacc, исключения отладки

Для отладки:

lex yacc debug exceptions independent_includepath testcase_targets import_plugins import_qpa_plugin rtti_off incremental_off windows qt warn_on release link_prl инкрементный плоский precompile_header autogen_precompile_source debug_and_release debug_and_release_target_source_debug_and_release_debug_and_release_target_master_manifest_master_manif_dug_manif

Обратите внимание, что оба содержат отладку и выпуск ... и мне интересно, почему ...

Хочу отметить, что я скомпилировал эту версию Qt из исходников. Но когда я это сделал, не было ничего странного. Я использовал следующую команду для его компиляции (настройте, а затем скомпилируйте с помощью простого nmake):

configure -debug-and-release -opensource -platform win32-msvc2013 -opengl desktop -static -nomake examples -nomake tests

Я попробовал унылое решение, добавив команду: debug:CONFIG-=release в свой файл make, но это приведет к тому, что версия выпуска станет отладочной с размером 30 МБ вместо 14 МБ, когда я выберу выпуск от Qt Creator.

Мой файл qmake - типичный. Следующая часть может иметь какое-либо отношение к проблеме. Остальные части просто добавляют файлы, библиотеки и пути:

QMAKE_CFLAGS += /MT

QT       += core gui

unix:QMAKE_CXXFLAGS += -std=c++11

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = MyProg
TEMPLATE = app

Так почему возникает эта проблема? Почему моя отладка или выпуск - отладка и выпуск? Как я могу их различить?

Пожалуйста, спросите, нужна ли вам дополнительная информация.

17.08.2015

  • code.qt.io/cgit/qt/qtbase.git/ tree / configure # n2401 сообщает, что -debug-and-release доступен только для Mac. 17.08.2015
  • @Mitch Weird ... никогда не было проблем с компиляцией! 17.08.2015
  • Если это похоже на ошибку, сообщите об этом. Похоже, вы должны хотя бы получить предупреждение, и это могло бы сэкономить вам много времени ... но я не очень разбираюсь в qmake. 17.08.2015
  • @Mitch ну, как оказалось, этот вариант не имеет никакого отношения к проблеме ... посмотрите ответ. 17.08.2015

Ответы:


Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..