Budować dla Windows NT 4.0 przy użyciu programu Visual Studio 2005?

głosy
17

Aplikacja MFC, że staram się migrować zastosowań afxext.h, co powoduje _AFXDLL, aby ustawić, co powoduje ten błąd, jeśli mogę ustawić /MT:

Należy użyć przełącznika / MD buduje dla _AFXDLL

Moje badania wskazują, że do tej pory nie można zbudować aplikację do wykonania w systemie Windows NT 4.0 przy użyciu programu Visual Studio (C ++, w tym przypadku) 2005.

Czy to rzeczywiście prawda? Czy istnieje obejście dostępne?

Utwórz 03/08/2008 o 03:48
źródło użytkownik
W innych językach...                            


5 odpowiedzi

głosy
8

Nie, istnieje wiele aplikacji zbudowanych z VS2005, które mają wspierać system Windows XP, 2000, NT, cały stos. Problem jest, że (domyślnie) VS2005 chce korzystać z bibliotek / eksportu nie obecne na NT.

Zobacz ten wątek na jakimś tle.

Potem zacznij ograniczając zależności poprzez makra preprocesora, unikając API, które nie są obsługiwane w systemie NT.

Odpowiedział 03/08/2008 o 17:54
źródło użytkownik

głosy
4

Aby pozbyć się tego błędu _AFXDLL, próbowaliście zmieniając ustawienia w użyciu MFC jako statyczne lib zamiast DLL? Jest to podobne do tego, co jesteś już robi się zmianę bibliotekami wykonawcze do statycznego zamiast DLL.

Odpowiedział 23/08/2008 o 02:16
źródło użytkownik

głosy
3

Rozwiązaniem jest ustalenie wielowątkowych DLL. Proste instrukcje . Krótkie podsumowanie:

Wysyłkę 8,0 C Runtime Library DLL (msvcr80.dll) nie obsługuje NT 4.0 SP6 z jednego powodu i tylko z jednego powodu: ktoś w firmie Microsoft dodał do wywołania funkcji GetLongPathNameW, która nie istnieje w kernel32.dll na NT 4,0.

CRTLIB.C Na linii 577, jest wywołanie GetLongPathNameW. po prostu zastąpić go z: ret = 0; używać tej kompilacji msvcr80.dll na NT 4,0.

Gdy już pracujących, wymyślanie bardziej rodzajowe rozwiązania powinny być trywialne.

Odpowiedział 14/10/2008 o 13:32
źródło użytkownik

głosy
1

Chociaż nie jestem zaznajomiony z afxext.h, zastanawiam się, co o tym sprawia, że ​​niezgodne z systemem Windows NT4 ....

Jednak, aby odpowiedzieć na oryginalne pytanie: „Moje badania do tej pory wskazują, że niemożliwe jest, aby zbudować aplikację do wykonania w systemie Windows NT 4.0 przy użyciu programu Visual Studio (C ++, w tym przypadku) 2005.”

Odpowiedź powinna być tak szczególnie wtedy, gdy wniosek został pierwotnie uruchomiony na NT4 lub napisane! Z afxext.h rzeczy na bok, to powinno być łatwe TAK.

Inna sprawa, mam kłopoty ze znalezieniem jest luźny charakter, w którym ludzie są wyrzucając termin NT. Udzielone większość ludzi myśli o „NT” jak Windows NT4 ale nadal niejednoznaczna, ponieważ większość ludzi „” nie jest równa „wszystkich ludzi”.

W rzeczywistości termin „NT” jest równa serii NT. Seria NT NT3, NT4, NT5 (2000, XP, 2003) oraz NT6 (Vista).

Win32 jest podsystemem, który można skierować C / C ++ kod zbyt. Więc nie widzę powodu, dlaczego nie powinno się móc ten cel NT4 platforma & podsystem lub, jeśli jest to platforma Porting ćwiczenia, usuń zależności MFC że VC jest być imponujące.

Dodanie afxext.h do miksu, to brzmi dla mnie jak kwestię zgodności podsystemu. To część MFC z moich badań Google. Afxext.h wydaje się być MFC (Microsoft Foundation Class) rozszerzeń.

Można usunąć zależność od MFC? Jaki rodzaj aplikacji jest? (CLR, obsługa, interfejs GUI?) Można przekonwertować projekt niezarządzanego C ++ w projekcie VC 8.0?

Mam nadzieję, że niektórzy to pomoże Ci wzdłuż.

Odpowiedział 18/09/2008 o 17:18
źródło użytkownik

głosy
-1

Chodzi o to, że exe jest potrzebne do podłączenia się do biblioteki statycznej.

Spróbuj to "Configuration Properties", "General", "Korzystanie z MFC" do "Use MFC w biblioteka statyczna" "Configuration Properties", "General", "Zastosowanie ATL" na "Static Link do ATL"

"Configuration Properties", "C \ C ++", "Code Generation", "Runtime Library" na "wielowątkowy (\ MT)"

Platforma testowa Budowa Maszyn: Visual Studio 2005 na Windows XP SP2 komputerze klienckim: Windows XP SP2 (nie zainstalowany VS2005)

Odpowiedział 21/11/2008 o 00:04
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more