Здравствуйте, 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 , как Вы сказали, и все заработало.