Re[13]: "%" вместо "*"
От: SuhanovSergey  
Дата: 03.08.07 20:38
Оценка: 7 (1)
Здравствуйте, 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>что за?
Надо откючить 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>как с этим бороться?
Это известная проблема CLR/ATL приложений. Причина: не инициализируется C-runtime потому что в проекте нет WinMain. Лечение: очищается опция Linker->Advanced->Entry Point, после этого вручную пишется функция WinMain
int __stdcall WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
)
{
    return main(nullptr);
}

Имеет смысл переименовать и использовать мой тестовый проект.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.