Я работаю в двух разных версиях C ++ (builder 2009 and XE1)
,
В обоих мне нужно использовать один и тот же файл f.cpp
, который содержит функцию LoadLibrary("path")
,
Builder 2009
требует путь типа char
а также XE1
— wchar
, так что это вызывает ошибку.
Есть ли способ использовать «LoadLibrary ()» с обоими символами&WChar?
танки.
Используйте тип TCHAR, который является или wchar или char в зависимости от макроса _UNICODE
,
Вы можете использовать препроцессор для этого, используя #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