от
Приложение MFC, которое я пытаюсь перенести использует
afxext.h
, который вызывает
_AFXDLL
установить, что вызывает эту ошибку, если я
/MT
: Пожалуйста, используйте переключатель /MD для количество _afxdll строит Мои исследования на сегодняшний день показывает, что невозможно построить приложение для выполнения в Windows NT 4.0 с помощью Visual студии (С , в данном случае) 2005. Неужели это правда? Есть ли обходной путь доступен?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

6 Ответы

0 голосов
от
Приложение MFC, которое я пытаюсь перенести использует
afxext.h
, который вызывает
_AFXDLL
установить, что вызывает эту ошибку, если я
/MT
: Пожалуйста, используйте переключатель /MD для количество _afxdll строит Мои исследования на сегодняшний день показывает, что невозможно построить приложение для выполнения в Windows NT 4.0 с помощью Visual студии (С , в данном случае) 2005. Неужели это правда? Есть ли обходной путь доступен?
0 голосов
от
Нет, есть много приложений, построенных с VS2005, что есть поддержка Windows ХР, 2000, НТ, весь стек. Вопрос в том, что (по умолчанию) VS2005 хочет использовать библиотеки/экспорт нет на NT. Смотрите эту ветку на каком-то фоне. Затем начать ограничивать свои зависимости через макросы препроцессора, и избегая API, которые не поддерживаются на NT.
0 голосов
от
Чтобы избавиться от количество _afxdll ошибка, пробовали ли вы изменения в настройки, чтобы использовать MFC как статическая библиотека, а не в DLL? Это похоже на то, что вы уже делаете в изменении времени выполнения и библиотеки для статической, а не в DLL.
0 голосов
от
Решением проблемы является устранить многопоточная DLL. Простые инструкции. Короткое резюме: Доставка 8.0 среды выполнения C библиотеки DLL (MSVCR80.DLL) не поддерживает NT 4.0 с пакетом обновления SP6 по одной причине и одной причине только: кто-то в Microsoft добавлена функция вызова
GetLongPathNameW
, который не существует в на kernel32.dll файлы на NT 4.0. CRTLIB.C на линии 577, есть призыв к
GetLongPathNameW
. просто замените его с:
ret = 0;
использовать только эту сборку MSVCR80.DLL на NT 4.0. Как только вы получили те, кто работает, придумывая более общее решение должно быть тривиальным.
0 голосов
от
Хотя я не знаком с afxext.ч, мне интересно, что об этом делает ее несовместимой с Windows NT4 с.... Однако, чтобы ответить на исходный вопрос: "Мои исследования на сегодняшний день показывает, что невозможно построить приложение для выполнения в Windows NT 4.0 с помощью Visual студии (С , в данном случае) 2005". Ответ должен быть да, особенно если приложение изначально написано или работает в NT4! С afxext.ч все в сторону, это должно быть легко да. Другая вещь, которую я нахожу неприятности-это свободная природа, в которой люди бросают термин НТ. Конечно большинство людей думают о 'НТ' как Windows NT4 С но она по-прежнему неоднозначное, потому что 'большинство людей' не равно 'все люди'. В действительности, термин 'НТ' равна серии NT. Серии NT является НТ3, это NT4, NT5 (2000, XP, 2003) и NT6 (Vista-центр). Win32-это подсистемы, которые вы нацелены на C/C код тоже. Поэтому я не вижу причин, почему никто не должен иметь цель этой платформе
0 голосов
от
Идея заключается в том, что EXE-файл необходимо перейти по ссылке на статическую библиотеку. Пожалуйста, попробуйте этот "Свойства конфигурации", "общие" "использовать MFC" "использовать MFC в статической библиотеке" "Свойства конфигурации", "общие", "использование ATL" на "статическую ссылку АТЛ" "Свойства конфигурации", "с\С ", "код поколения", "библиотека времени выполнения" на "многопоточная (\Т)" Тестовая Платформа Сборки: Visual Studio 2005 на окна XP с пакетом обновления 2 Клиентском компьютере: окне XP с пакетом обновления 2 (не установлен VS2005)
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...