Нет выхода из программы C ++ - PullRequest
2 голосов
/ 10 ноября 2019

Прежде всего, извините, если это не в той категории, так как я не уверен, в чем причина этой проблемы.

В образовательных целях я создал небольшое приложение "Hello World"

#include <iostream>
int main() {
    std::cout << "Hello World\n";
    return 0;
}

Я попытался скомпилировать его как с Visual Studio, так и с MINGW-64 (g ++ -m64 main.cpp). ), как 64-битное приложение. Он отлично работает на моем компьютере с Windows, но когда я пытаюсь запустить его в последней версии Windows PE, он ничего не печатает. Я также попытался с std :: cin, чтобы программа не остановилась сразу, но происходит то же самое - без вывода и без ошибок. enter image description here

Я знаю, что WinPE очень ограничен с точки зрения включаемых библиотек и подсистем, но я действительно думал, что это простое приложение Hello World будет работать. Среда WinPE является 64-битной, поэтому я компилирую как 64-битную

Есть идеи, с чего мне начать?

Ответы [ 2 ]

2 голосов
/ 10 ноября 2019

Я нашел актуальную проблему. Я не компилировал приложение статически, из-за чего оно зависело от зависимостей, отсутствующих в WinPE. Я перекомпилировал его, используя флаг «-static», и теперь он работает, как и ожидалось, как для WinPE, так и для настольных версий Windows.

1 голос
/ 10 ноября 2019

Использование

    std::cout << "Hello World" << std::endl;

std :: endl очистит содержимое и добавит \ n в конце вашего сообщения.

...