[問題] 讓vs編譯出來的MFC視窗程式也可以在Windows XP下執行
開發平台(Platform): (Ex: Win10, Linux, ...) Win10
編譯器、IDE:Visual Studio 2015
問題(Question):
各位好
我想讓VS編譯出來的MFC視窗程式也可以在Windows XP下執行
如果我以預設的方式編譯出一個MFC視窗程式
拿去XP下執行會跳出一個方框:「不是正確的win32」
於是我上網找了一下解法
只要在專案上按一下右鍵,
點選屬性,
並找到「鏈接器->系統->最低版本」鍵入「5.01」
就可以解決(?)
我是參考這個的:http://bbs.csdn.net/topics/390639155
結果還是沒成功,
反而出現了另一個方框:「無法找到程序輸入點 InitializeCriticalSectionEx (在動態連結程式庫 kernel32.dll)
這該怎麼解決?
問題好像越來越複雜了…
預期的正確結果(Expected Output): 在Windows XP下可以正常開啟並執行
錯誤結果(Wrong Output):
無法找到程序輸入點 InitializeCriticalSectionEx (在動態連結程式庫 kernel32.dll)
補充說明(Supplement):
--
歡迎各位使用以下網站服務:
http://redwh.al/ (短網址服務)
http://i.redwh.al/ (圖片即時上傳服務)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.14.194
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1476349785.A.3AC.html
→
10/13 17:14, , 1F
10/13 17:14, 1F
→
10/13 17:14, , 2F
10/13 17:14, 2F
現在VS好像不支援Windows XP了…
※ 編輯: red0whale (114.44.14.194), 10/13/2016 17:17:06
→
10/13 17:17, , 3F
10/13 17:17, 3F
→
10/13 17:21, , 4F
10/13 17:21, 4F
→
10/13 17:22, , 5F
10/13 17:22, 5F
不好意思,
請問這個函數怎麼刪除?
要刪好像蠻複雜的…
還有我是新手請多包含
謝謝
※ 編輯: red0whale (114.44.14.194), 10/13/2016 17:28:37
→
10/13 17:29, , 6F
10/13 17:29, 6F
→
10/13 17:29, , 7F
10/13 17:29, 7F
→
10/13 17:30, , 8F
10/13 17:30, 8F
→
10/13 17:31, , 9F
10/13 17:31, 9F
→
10/13 17:33, , 10F
10/13 17:33, 10F
→
10/13 17:34, , 11F
10/13 17:34, 11F
啊… 忘記跟你講了
我如果將「平台工具組(Platform Toolset)」設成「Visual Studio 2015 – Windows XP (v140_xp)」的話
編譯會出現一堆「未定義」等的錯誤
所以我選的是「Visual Studio 2015 (v140)」
不然選別的都會編譯錯誤
※ 編輯: red0whale (114.44.14.194), 10/13/2016 17:42:04
→
10/13 18:04, , 12F
10/13 18:04, 12F
→
10/13 18:05, , 13F
10/13 18:05, 13F
→
10/13 18:06, , 14F
10/13 18:06, 14F
→
10/13 18:06, , 15F
10/13 18:06, 15F
→
10/13 18:07, , 16F
10/13 18:07, 16F
嗯… 還是一樣
以下是我的主程式Source:
(main.cpp)
#define NTDDI_VERSION 0x05010000 //設成Windows XP
#define _WIN32_WINNT 0x0501 //設成Windows XP
#include <afxwin.h>
class MyAPP : public CWinApp {
public:
BOOL InitInstance()
{
CFrameWnd *Frame = new CFrameWnd();
m_pMainWnd = Frame;
Frame->Create(NULL, "Hello MFC");
Frame->ShowWindow(SW_SHOW);
return true;
}
};
MyAPP a_app;
我想印出一個標題為「Hello MFC」的空白視窗
按照您說的第一個連結的define
我把它們的值設成表中的Windows XP
但似乎無效
編譯結果還是出現一堆「未定義」的錯誤
縱使我已經把「平台工具組(Platform Toolset)」設成「Visual Studio 2015 – Windows XP (v140_xp)」了
※ 編輯: red0whale (114.44.14.194), 10/13/2016 18:47:47
剛才試了一下,問題好像解決了
非常感謝您!!
※ 編輯: red0whale (114.44.14.194), 10/13/2016 18:50:59
→
10/13 19:08, , 17F
10/13 19:08, 17F
→
10/14 01:53, , 18F
10/14 01:53, 18F
→
10/15 04:46, , 19F
10/15 04:46, 19F
推
10/16 00:05, , 20F
10/16 00:05, 20F
→
10/16 00:05, , 21F
10/16 00:05, 21F
→
10/16 00:05, , 22F
10/16 00:05, 22F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章