Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

Warning #13000: could not open message catalog file: diagscUI.dll - RESOLVED

SergeyKostrov
Valued Contributor II
963 Views
I detected a small issue related to:

Warning #13000: could not open message catalog file: diagscUI.dll

I think some path is not set byIntel C++ compilerinstaller. The message is displayed when aWarning Level is set to 5.

My environment:

OS: Windows XP 32-bit
IDE: Visual Studio 2005 SP1
C++ compiler: Intel C++Composer XE 2011 Update 9

Best regards,
Sergey
0 Kudos
1 Solution
Om_S_Intel
Employee
963 Views

The following article may help resolve the issue if you are using Russian Windows OS.

http://software.intel.com/en-us/articles/message-catalog-file-not-opening-in-russian-windows-os/

View solution in original post

0 Kudos
7 Replies
Om_S_Intel
Employee
964 Views

The following article may help resolve the issue if you are using Russian Windows OS.

http://software.intel.com/en-us/articles/message-catalog-file-not-opening-in-russian-windows-os/

0 Kudos
SergeyKostrov
Valued Contributor II
963 Views

The following article may help resolve the issue if you are using Russian Windows OS.

http://software.intel.com/en-us/articles/message-catalog-file-not-opening-in-russian-windows-os/


Thank you. I'm using English version of Windows XP butI'll try to do what the article recommends.

Best regards,
Sergey

0 Kudos
SergeyKostrov
Valued Contributor II
963 Views
I resolved it by adding a path to a folder '..\1033' whereEnglish version of 'diagscUI.dll' was saved:

[ In Visual Studio 2005 ]

Main Menu -> Tools -> Options -> Intel C++ -> Compilers -> Executables:

Set by Installer:

$(ICInstallDir)bin\ia32;$(CommonProgramFiles)\Intel\Shared Files\Ia32\Bin;

Modified:

$(ICInstallDir)bin\ia32;$(CommonProgramFiles)\Intel\Shared Files\Ia32\Bin;$(ICInstallDir)bin\ia32\1033


Anyway, I think that the main sorce of the problem is Intel C++ Compiler Installer because it could easily seta locale
dependantpath, like '..\1033' or '..\1041', etc.

Best regards,
Sergey

0 Kudos
Om_S_Intel
Employee
963 Views
I am happy to learn that the issue is resolved.
0 Kudos
SergeyKostrov
Valued Contributor II
963 Views
Hi Om,

Would you be able to report my solution ( that is adding a path )to a Software Engineering team? As you can see the problem
is not related toa Russian version of Windows XP, andaffectsEnglish version as well.

Best regards,
Sergey
0 Kudos
SergeyKostrov
Valued Contributor II
963 Views
Here is a screenshot that shows where the path was added:


0 Kudos
levicki
Valued Contributor I
963 Views
That should not be added to the path!

Path is for executable files, not for resource-only DLLs.

Compiler executable is locating its resource DLLs by constructing a path from executable path + LCID (Locale ID). LCID number is 1033 for English locale (note that I am saying LOCALE, not OS version).

You can create a simple console test program to print the LCID number on your system by invoking:

- GetThreadLocale()

If the number is not 1033 it means that your locale is not set to English even though you are using English version of the operating system. If you rename the 1033 folder to the LCID number you get from this function the compiler will find the resource DLL without need to add it to the path.

Problem is that Intel compiler engineers seem to be too lazy to provide fallback from the locale for which the localization is not available to English by adding the following simple code:

TCHAR file_path[MAX_PATH];
TCHAR exe_path[MAX_PATH];
TCHAR *file_name = _T("diagscUI.dll");
LCID lcid = GetThreadLocale();

_stprintf(file_path, _T("%s\\%ld\\%s"), exe_path, lcid, file_name);

if (!PathFileExists(file_path)) {
_stprintf(file_path, _T("%s\\1033\\%s"), exe_path, file_name);
}

HANDLE msgs = LoadLibrary(file_path);

I hope they fix that one day.
0 Kudos
Reply