Когда я просто объявляю
boost::thread t1, t2;
в своей программе, а затем сжимаю .exe-файл с помощью UPX, сжатие выполняется успешно. Но когда я пытаюсь запустите сжатый exe, Windows сообщает мне, что это «недопустимое приложение win32».
Есть отчет об ошибке для UPX ( аналогичная ошибка ), но с другим сообщением об ошибке ( «The не удалось правильно инициализировать приложение (0xc0000005) ").
В моем случае ОС считает, что файл поврежден или что-то в этом роде, поэтому его нельзя даже запустить, чтобы показать ошибки! Почему ??
Win7x64, C ++, VisualStudio , boost 1.47, UPX3.07
странные новости:
Распаковка exe приводит к повреждению исполняемого файла, который выдает ошибку точно такую же , что и здесь . ( "Приложению не удалось выполнить правильно инициализировать (0xc0000005) ") И это для распакованного exe, не упакованного, как в отчете об ошибке .
extern" C "void tss_cleanup_implemented (void) {}
до включения bo Заголовок потока ost не имеет значения. Результат
тот же.
main.cpp:
#include
int main(int argc, char** argv)
{
boost::thread t;
return 0;
}
Может кто-нибудь попытается скомпилировать и сжать?