В своей программе я использую Win Api функции, поэтому мне надо подключать windows.h. Также мне удобно работать с UTF16, поэтому я определяю #define UNICODE. С другой стороны мне надо использовать библиотеку сторонних разработчиков и для этого необходимо подключать их h файл (внутри этого h файла также подключается windows.h), а их функции поддерживают только ANSI кодировку (я привожу к этой кодировке, это не проблема). Если пытаться делать проект с stdafx файлами, то или не работают мои функции, или же не работают библиотечные функции. Это cвязано с тем что и в моих функциях и в сторонней библиотеке используется тип LPCTSTR. А в сторонней библиотеке тип LPWSTR не поддерживается. Если же не использовать stdafx файлы, то резко снижается скорость компиляции. Как можно решить эту проблему, чтобы и stdafx файлы были, и у моих win api функции LPWSTR был, а у функций из сторонней библиотеки тип LPCSTR был?
27.08.04 22:45: Оставлено модератором в 'C/C++' — Павел Кузнецов
Здравствуйте, Vezen, Вы писали:
V>Как можно решить эту проблему, чтобы и stdafx файлы были, и у моих win api функции LPWSTR был, а у функций из сторонней библиотеки тип LPCSTR был?
#include "stdafx.h"
#undef LPCTSTR
#define LPCTSTR LPCSTR
#include "./MyLib/MyLib.h"
#undef LPCTSTR
а библиотеку сторонних разработчиков лучше скомпилить как static library(без UNICODE разумееться)