Я загрузил код C ++ с GitHub, чтобы пометить изображения для обучения детектора объектов с использованием машинного обучения.
В Qt Creator 4.2.1 На основе Qt 5.8.0 (MSVC 2015, 32bit) я смог скомпилировать и запустить код.К сожалению, я не смог запустить .exe вне Qt Creator.
Изначально я получил сообщение об ошибке
"The program can't start because libgcc_s_dw2-1.dll is missing".
Благодаря QTПрограмма не может запуститься, потому что в libgcc_s_dw2-1.dll отсутствует , что легко исправить, добавив
"QMAKE_LFLAGS += -static"
в файл .pro.Теперь, когда я запускаю его, я получаю
"The application was unable to start correctly (0xc000007b). Click OK to close the application."
Я смог воспроизвести ошибку, используя простой проект по умолчанию «Hello World», который появляется при создании приложения Qt Widget.Это заставило меня поверить, что что-то не так с моей установкой.
Основываясь на рекомендациях этой статьи: https://stackoverflow.com/questions/12099117/32-bit-qt-application-on-win-7-x64-wont-run-but-runs-fine-from-qt-creator
, я использовал Dependency Walker для выявления возможных причин.Я ожидал увидеть только несколько пунктов, которые я смогу выполнить.Вместо этого я получил список из почти 100 отсутствующих DLL-файлов.Все файлы начинаются с
"API-MS-WIN ###.DLL" or "EXT-MS ###.DLL"
, где ### представляют некоторые дополнительные текстовые символы, например;
"API-MS-WIN-SHCORE-STREAM-WINRT-L1-1-0.DLL"
Я прилагаю пример вывода.
Другим предложением было скопировать
libwinpthread-1.dll, libstdc++-6.dll, libgcc_s_dw2-1.dll.
Это тоже не сработало.
Мой следующийПереезд состоял в том, чтобы просто получить последнюю версию QT и пожелать лучшего.Я установил Qt Creator 4.8.1 на основе At 5.12.0 (MSVC 2015, 32 бит).На этот раз я даже не смог заставить код работать в IDE.Я получил 1000+ сообщений об ошибках!
Основываясь на рекомендациях с нескольких страниц, я добавил
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
в файл .pro, и он все равно не будет компилироваться.
Также я проверил, что приложение строится как 32-битное приложение.Я работаю в 64-битной системе Windows 10.
Если кто-то захочет попробовать его, чтобы посмотреть, сможет ли он создать работающий .exe, вот ссылка: github.com/clavicule/BBTag