Проблема с заголовочным файлом windows.h
От: Vezen  
Дата: 20.08.04 11:19
Оценка:
В своей программе я использую 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++' — Павел Кузнецов
Re: Проблема с заголовочным файлом windows.h
От: korzhik Россия  
Дата: 20.08.04 11:28
Оценка: +1
Здравствуйте, Vezen, Вы писали:

V>В своей программе я использую Win Api функции, поэтому мне надо подключать windows.h. Также мне удобно работать с UTF16, поэтому я определяю #define UNICODE. С другой стороны мне надо использовать библиотеку сторонних разработчиков и для этого необходимо подключать их h файл (внутри этого h файла также подключается windows.h), а их функции поддерживают только ANSI кодировку (я привожу к этой кодировке, это не проблема). Если пытаться делать проект с stdafx файлами, то или не работают мои функции, или же не работают библиотечные функции. Это cвязано с тем что и в моих функциях и в сторонней библиотеке используется тип LPCTSTR. А в сторонней библиотеке тип LPWSTR не поддерживается. Если же не использовать stdafx файлы, то резко снижается скорость компиляции. Как можно решить эту проблему, чтобы и stdafx файлы были, и у моих win api функции LPWSTR был, а у функций из сторонней библиотеки тип LPCSTR был?


Так если ты везде у себя работаешь с UNICODE, может быть на прямую вызывать уникодные API(например: GetWindowTextW)?
Re: Проблема с заголовочным файлом windows.h
От: Аноним  
Дата: 22.09.04 07:50
Оценка:
Здравствуйте, Vezen, Вы писали:

V>Как можно решить эту проблему, чтобы и stdafx файлы были, и у моих win api функции LPWSTR был, а у функций из сторонней библиотеки тип LPCSTR был?



#include "stdafx.h"
#undef LPCTSTR
#define LPCTSTR LPCSTR
#include "./MyLib/MyLib.h"
#undef LPCTSTR

а библиотеку сторонних разработчиков лучше скомпилить как static library(без UNICODE разумееться)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.