From: "Allan Bruce" <abruceA T on

"Stephen Kellett" <snail(a)objmedia.demon.co.uk> wrote in message
news:Pk8MUXDkYcFCFwYV(a)objmedia.demon.co.uk...
> In message <111b3i7n5u7gl15(a)corp.supernews.com>, Allan Bruce
> <abruceA(a)T.csd.abdn.ac.uk.?.?.?.invalid> writes
>>> Take a look at all of your defines, for everything. I remember porting
>>> to
>>> the IA64 and we had this problem. Turned out that somewhere a _X86_ had
>>> crept in for one file. Don't know how it happened etc, etc. But it
>>> caused
>>> this problem.
>
>>windows.h defines _X86_ so I tried adding #define _AMD64_ before including
>
> Thats not what I meant. The solution to my problem was NOT by adding
> defines (as you have done), but by looking for _X86_ not in the source or
> headers, but in the makefile/project file.
>
> Given that your demonstration of the bug is so trivial (excellent you
> could define it so neatly!) I guess the other thing to check is that none
> of the files in your Visual Studio environment are used by the compiler.
> *ALL* of the header, lib, compiler and linker files should be coming from
> the AMD64 directories. Be sure to do a full rebuild after moving all the
> AMD64 directories to the top of the directories list in Visual Studio.
>
> Note I haven't worked with the AMD64 version only the IA64 version,
> although I'd expect them to be essentially the same. My experience was
> whilst porting a 2,000,000 line C++ application to IA64.
>
> Stephen


I tried using a script from the Platform SDK to set the build environment to
WinXP 64-bit and this seems to help however now I get the following error:

Project : error PRJ0002 : Error result 128 returned from 'e:\Program Files
(x86)\Microsoft Visual Studio 8\VC\bin\x86_amd64\link.exe'.



Allan


From: Jussi Jumppanen on
Allan Bruce wrote:

> this is located in <windows.h> however:
>
> #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) &&
> !defined(_IA64_) && !defined(_AMD64_) && defined(_M_IX86)
> #define _X86_
> #endif

Assuming these are target processors:

_68K_, _MPPC_, _X86_, ......

To me this preprocessor read:

if no traget has been specified then assume the target is _X86_

> This is the line causing the problems but I cannot find a
> solution :-(

What about defining the traget in the project settings?

Jussi Jumppanen
Author of: Zeus for Windows (New version 3.94 out now)
"The C/C++, Cobol, Java, HTML, Python, PHP, Perl programmer's editor"
Home Page: http://www.zeusedit.com
From: "Allan Bruce" <abruceA T on

"Jussi Jumppanen" <jussij(a)zeusedit.com> wrote in message
news:4216AA4A.2A19(a)zeusedit.com...
> Allan Bruce wrote:
>
>> this is located in <windows.h> however:
>>
>> #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) &&
>> !defined(_IA64_) && !defined(_AMD64_) && defined(_M_IX86)
>> #define _X86_
>> #endif
>
> Assuming these are target processors:
>
> _68K_, _MPPC_, _X86_, ......
>
> To me this preprocessor read:
>
> if no traget has been specified then assume the target is _X86_

Thats what it looks like to me too

>
>> This is the line causing the problems but I cannot find a
>> solution :-(
>
> What about defining the traget in the project settings?
>
> Jussi Jumppanen
> Author of: Zeus for Windows (New version 3.94 out now)
> "The C/C++, Cobol, Java, HTML, Python, PHP, Perl programmer's editor"
> Home Page: http://www.zeusedit.com

This has the same effect as #define _AMD64_ before including windows.h but a
lot neater. With this I get the error:
E:\Program Files (x86)\Microsoft Visual Studio
8\VC\PlatformSDK\Include\WinNT.h(9289) : error C3861: '__readfsdword':
identifier not found



I had a look at WinNT.h and __readfsdword is identified in WinNT.h itself,
so I have no idea what it is complaining about

Allan




First  |  Prev  | 
Pages: 1 2
Next: Disabling SxS