[英]Boost thread and UPX compression == not valid win32 application?
我什么時候宣布
boost::thread t1, t2;
在我的程序中然后使用UPX壓縮.exe文件,壓縮成功。 但是當我嘗試啟動壓縮的exe時,Windows告訴我它是“無效的win32應用程序”。
UPX有一個錯誤報告( 類似的錯誤 ),但它有不同的錯誤消息( “應用程序無法正確初始化(0xc0000005)” )。
在我的情況下,操作系統認為文件已損壞或其他東西,所以它甚至無法啟動顯示錯誤! 為什么??
Win7x64,C ++,VisualStudio,boost 1.47,UPX3.07
奇怪的消息:
解包exe會使損壞的exe拋出與此處完全相同的錯誤。 ( “應用程序無法正確初始化(0xc0000005)” )這是針對解壓縮的exe,而不是在bug報告中打包。
在包含boost的線程頭之前, extern "C" void tss_cleanup_implemented(void) {}
無關緊要。 結果是一樣的。
main.cpp中:
#include <boost/thread.hpp>
int main(int argc, char** argv)
{
boost::thread t;
return 0;
}
可能有人會嘗試編譯和壓縮?
Bug在新版本3.08中得到修復。 現在好了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.