Re[14]: "%" вместо "*"
От: Аноним  
Дата: 02.02.09 13:43
Оценка:
Здравствуйте, SuhanovSergey, Вы писали:

SS>Здравствуйте, Kaukko, Вы писали:


K>>сделал всё так же, как написал SuhanovSergey.

K>>создал файлик *_h.h, вместе с ним создался *_i.c,
K>>для того, что бы он компилился пришлось добавлять в командную строку /Tp *_i.c, но возникает ошибка
K>>C2857: '#include' statement specified with the /Ycstdafx.h command-line option was not found in the source file "*_i.c"
K>>что за?
SS>Надо откючить precompiled headers для этого файла.

K>>если эти файлы удалить из проекта и просто подключить библиотеки atlbase и atlcom, то выдается ошибка

K>>An unhandled exception of type 'System.TypeInitializationException' occurred in Unknown Module.
K>>Additional information: The type initializer for '<Module>' threw an exception.
K>>как с этим бороться?
SS>Это известная проблема CLR/ATL приложений. Причина: не инициализируется C-runtime потому что в проекте нет WinMain. Лечение: очищается опция Linker->Advanced->Entry Point, после этого вручную пишется функция WinMain
SS>
SS>int __stdcall WinMain(HINSTANCE hInstance,
SS>    HINSTANCE hPrevInstance,
SS>    LPSTR lpCmdLine,
SS>    int nCmdShow
SS>)
SS>{
SS>    return main(nullptr);
SS>}
SS>

SS>Имеет смысл переименовать и использовать мой тестовый проект.


Спасибо огромное Вам за совет! Неделю искал и пытался побороть ошибку "The type initializer for '<Module>' threw an exception". Написал WinMain , как Вы сказали, и все заработало.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.