Change from Windows XP to Windows 7

Change from Windows XP to Windows 7

Hello!

Sorry for writing my question in German - hier is the text in English:

The following problem occurred with the development of an application:

We now have changed our operating system from Windows XP to Windows 7. Up to now, I developed my programs by using Intel FORTRAN 11.1. The program ran without any errors. Now I transferred the complete project folder to Parallel Studio XE2013 with Visual Studio VS2012. The compiler builds everything without any error.

But, using dialogs (access to “iflogm” and “ifwin”) there occurs an inexplicable run-time error. The procedure is as follows:

if (dlginit( IDD_dlg_inp_04_motor, dlg)) then

..... (several statements follow like "retlog = dlgset(dlg, ...)" as well as diverse settings, calls of subroutines, and activating of the callback (retlog = dlgsetsub(dlg, ….)).

The error occurs at the line:

retint = dlgmodal (dlg)

The error messgae is:

„Uncaught exception at 0x7765DEE0 (ntdll.dll) in Range_4.exe (name of my program): 0xC0000005: access violation by writing to 0x01380FFC“.

The debugger automatically opens the file “crt0.c”; obviously a problem with _WINMAIN occurs.

In this dialog I use also the functions of WIN32-API interface (for example to embed bitmaps into pushbuttons or to set edit controls to READONLY – to attain black letters in a disabled grey edit control). Most of these settings are carried out from the callback routine: the call of the dialog allows for the access to its handle and the handles of the respective controls – this has worked well before our migration.

My guess:

The migration to the 64-bit architecture is not correctly completed. By the attempt to carry it out manually a conflict arises between the module platform and the target platform. In this case the compiler gives the message:

„Fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86’ ”

I did not succeed in the attempt to set „X86“ in the Configuration Manager ore to activate it anywhere; likewise a respective setting under "Project > Range_4 Properties > Linker > Advanced > Target Machine" does not lead to a correct result.

How can this problem be solved? Is there probably a configuration problem on my platform (in connection with “ntdll.dll”) ?

Thanks very much for an answer!

 

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

>>„Fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86’ ”

Is that a complete error message? It looks like for a 32-bit application one module ( a DLL, for example ) is 64-bit.

>>I did not succeed in the attempt to set „X86“ in the Configuration Manager ore to activate it anywhere; likewise a respective
>>setting under "Project > Range_4 Properties > Linker > Advanced > Target Machine" does not lead to a correct result.

In case of a 64-bit platform 'Target Machibe' setting should be set to 'Default'.

On a 64-bit system, you can build and run either 32-bit or 64-bit programs. The error is saying that you're building a 32-bit program (target type X86), but as Sergey says, one or more of the objects or libraries you're linking in were built for 64-bits. This is a linker error, not a compiler error.

The message should give the name of the object that it's complaining about. Make sure that all the objects you're linking to are built for 32-bit.

Steve - Intel Developer Support

Leave a Comment

Please sign in to add a comment. Not a member? Join today