2013-04-08 2 views
0

Я работаю в двух разных версиях C++ (builder 2009 and XE1). В обоих случаях мне нужно использовать тот же файл f.cpp, который содержит функцию LoadLibrary("path"). Builder 2009 требуется тип пути char и XE1 - wchar, поэтому это вызывает ошибку.переменные wchar/char

Есть ли способ использовать «LoadLibrary()» с обоими char & wchar?

цистерны.

+2

Макросы 'TCHAR' обычно достаточны –

ответ

0

Вы можете использовать препроцессор для этого, используя #if defined функциональные возможности, чтобы решить, какой из них использовать:

#if defined(__SOME_SPECIAL_DEFINE_FOR_ONE_COMPILER__) 
LoadLibrary("path"); 
#elif defined(__SOME_OTHER_SPECIAL_DEFINE_FOR_OTHER_COMPILER__) 
LoadLibrary(L"path"); 
#else 
# error unknown compiler 
#endif 
3

Используйте тип TCHAR, который либо WCHAR или символ в зависимости от макро _UNICODE.

Смежные вопросы