Повышение в приложении MFC на NT4

#c #visual-studio-2010 #boost #mfc #visual-studio-2005

#c #visual-studio-2010 #повышение #мфц #visual-studio-2005 #mfc

Вопрос:

Я пытаюсь модифицировать текущее приложение MFC, работающее на Windows NT4, для использования библиотек boost для обмена данными по Ethernet (первоначально он использовал CommX для serial) и общего повышения производительности, результативности и ясности кода.

Я начал изменять его в VS2010, но обнаружил, что мне не удалось создать действительное приложение NT4 с помощью VS2010. Я погуглил проблему и обнаружил, что VS2005 была последней версией, способной создавать приложение NT4. Я получил все для компиляции в VS2005, но обнаружил, что мне пришлось изменить некоторые инструкции #define в stdafx.h, чтобы запустить приложение на NT4. Однако даже после этого, когда я запускаю программу на NT4, она немедленно завершается без ошибок. Это ничего не показывает. Я даже проверил процессы диспетчера задач во время его выполнения. Похоже, что оно вообще никогда не выполнялось.

Я пришел в отчаяние и попытался скомпилировать приложение в VS2003, но получил так много ошибок, что отказался от этого.

Моей последней попыткой был VC6, но опять же, я получил 262 ошибки и начал задаваться вопросом, возможно ли вообще, чтобы boost запускался в VB6 или на компьютере NT4.

Возможно ли вообще скомпилировать и запустить приложение MFC с библиотеками boost на компьютере NT4? Если да, то какая среда / компилятор мне нужны и как мне настроить его для правильной работы?

Это проект с очень плотным графиком, поэтому любая (оперативная) помощь была бы очень признательна! Спасибо!

Комментарии:

1. Вы запускались под управлением отладчика? Это должно подсказать вам, где программа завершается, даже если вам нужно выполнить один шаг.

2. Вы сказали «для запуска boost в VB6».. Вы имели в виду «для запуска boost в VC6»?

Ответ №1:

Если вы пытаетесь использовать VC6 для компиляции кода, использующего Boost, вам может понадобиться более старая версия Boost. Попробуйте 1.34.1.

Комментарии:

1. когда была выпущена версия 1.34.1, asio не была библиотекой boost, и я понял из вопроса, что asio — это единственная причина, по которой OP в первую очередь внедряет boost в проект…

2. ильджарн прав, мне нужна библиотека asio, которая, как я только что узнал, была представлена в версии 1.35. Есть ли какой-либо способ перестроить библиотеки boost для MSVC 6.0? Это то, на чем было написано исходное приложение, и конечный exe-файл, вероятно, работал бы в NT4 как однозначная замена, верно?

Ответ №2:

Вы могли бы попробовать использовать STLPort в качестве реализации стандартной библиотеки вместо встроенного STL, который поставляется с VC6. Я успешно использую boost 1.32 и STLPort 4.6.2 в VC6 с проектом MFC. Я не пробовал переходить на более новые версии boost или STLPort, но STLPort может быть достаточно, чтобы вы начали.