Другие языки программирования и технологии
VisualC++ 2010. При выборе MFC - статической библиотеки программа не компилируется.
Ставлю библиотеку MFC как статическую и программа не компилируется, если делать что бы использовало библиотеки Windows тогда компилируется. Что делать?
Начиная с версии 3.0, все классы MFC, «поточно-ориентированным» и требуют многопоточные библиотеки времени выполнения для успешной связи. Попробуйте использовать однопоточной библиотеки времени выполнения, так как они предполагают эти библиотеки необходимые для включения приложения для работы в Win32s многих людей. Это не так. MFC версии 3.0 или более поздней версии будет использовать единый поток до тех пор, пока вы не создаете дополнительных потоков в приложении, приложение будет выполняться под Win32s.
Для Win32s MFC версии 3.0 и более поздних версий не следует создавать дополнительные потоки. Тем не менее MFC использует хранилища локального потока (TLS) в многопоточной библиотеки для предоставления данных отдельных процессов в DLL, которые используются несколькими приложениями, в группе Win32s.
В диалоговом окнеПроект настройкидиалоговое окно, если выбран вариант библиотеки времени выполнения для связи «Многопоточные с использованием библиотеки DLL» можно воспользоваться с помощью общей библиотеки DLL, MSVCRTX :0. Библиотека (гдеX :представляет основной номер версии Visual C++). Существуют разные версии MSVCRTX :0. Библиотека DLL для Windows NT и Win32s, которые не могут быть взаимозаменяемыми. «Многопоточные с использованием библиотеки DLL» является обязательным при создании AFXDLL.
Компоновка многопоточной библиотеки может привести к несколько ошибок с определенным символом. Обычно это происходит, когда приложение использует созданные пользователем или сторонние статических библиотек, которые были созданы в одном потоке.
Оптимальным решением в данном случае является повторное построение статических библиотек для использования в качестве MFC (те же параметры библиотеки/MT-или-/MDиспользуемый в зависимости от того, какие lib MFC).
В этом случае можно использовать/NOD:LIBC.LIB. Тем не менее если статическая библиотека обращается к любой статические глобальные данные времени выполнения C _errno или стандартного устройства ввода, вы получите неразрешенных внешних компонентов в эти символы.
Одно решение, которое всегда будет работать — изолировать код однопоточной в библиотеку DLL и вызывать его защищены семафоров с многопоточный код MFC.
Как вариант не использовать библиотеку MFC (для любителей Borland Delphi это библиотека VCL ), которая упрощает программирование. В этом случае придется весь код набирать вручную и работать только с WinAPI ( Win dows Application Programming Interface, прикладной программный интер фейс) . Программа получается очень маленькой и быстрой. Результирую щий код будет меньше, чем при использовании MFC в сочетании с самым большим сжатием.
Для Win32s MFC версии 3.0 и более поздних версий не следует создавать дополнительные потоки. Тем не менее MFC использует хранилища локального потока (TLS) в многопоточной библиотеки для предоставления данных отдельных процессов в DLL, которые используются несколькими приложениями, в группе Win32s.
В диалоговом окнеПроект настройкидиалоговое окно, если выбран вариант библиотеки времени выполнения для связи «Многопоточные с использованием библиотеки DLL» можно воспользоваться с помощью общей библиотеки DLL, MSVCRTX :0. Библиотека (гдеX :представляет основной номер версии Visual C++). Существуют разные версии MSVCRTX :0. Библиотека DLL для Windows NT и Win32s, которые не могут быть взаимозаменяемыми. «Многопоточные с использованием библиотеки DLL» является обязательным при создании AFXDLL.
Компоновка многопоточной библиотеки может привести к несколько ошибок с определенным символом. Обычно это происходит, когда приложение использует созданные пользователем или сторонние статических библиотек, которые были созданы в одном потоке.
Оптимальным решением в данном случае является повторное построение статических библиотек для использования в качестве MFC (те же параметры библиотеки/MT-или-/MDиспользуемый в зависимости от того, какие lib MFC).
В этом случае можно использовать/NOD:LIBC.LIB. Тем не менее если статическая библиотека обращается к любой статические глобальные данные времени выполнения C _errno или стандартного устройства ввода, вы получите неразрешенных внешних компонентов в эти символы.
Одно решение, которое всегда будет работать — изолировать код однопоточной в библиотеку DLL и вызывать его защищены семафоров с многопоточный код MFC.
Как вариант не использовать библиотеку MFC (для любителей Borland Delphi это библиотека VCL ), которая упрощает программирование. В этом случае придется весь код набирать вручную и работать только с WinAPI ( Win dows Application Programming Interface, прикладной программный интер фейс) . Программа получается очень маленькой и быстрой. Результирую щий код будет меньше, чем при использовании MFC в сочетании с самым большим сжатием.
Похожие вопросы
- Где размещаются статические переменные программы?
- Почему программа не компилируется в Borland C++ Builder?
- Выбор языка для написания программы
- программа visual studio 2010 что можно делать в этой программе. (краткий обзор программы для отчета по практике)
- Скажите, зачем нам, в эпоху 21 века (2010 года) нужен паскаль!!!?Неужели нет программ получше!!??
- не компилируется программа
- Вычислить сумму нечетных элементов в программа С++ .Через статический и динамический массив! Вот я сам написал проверьте
- Допустим, я написал программу с использованием сторонней библиотеки, и решил ее выложить, как сделать, чтобы...
- Не компилируется программа, помогите исправить
- Пишут ли еще программы на голом winapi и c++? Или сейчас все пишут при помощи библиотека, таких как Qt?