I'm getting this error when compiling my project in X64. (But no error in NT32 
for some reason, probably a 32bit vs 64bit thing).
error LNK2001: unresolved external symbol memcpy
I don't use memcpy at all, I only use CopyMem. So it must be the compiler 
optimizing code and inserting memcpy here and there.
I added compile option /FAcs I found 20+ instances of memcpy.
Is there a trick around this so I don't have to modify lots of code?
If there is no way around it, should I not be parsing STRUCTS through functions 
and use pointers instead?
Here's a snippet of an example where memcpy is being inserted:
//// H
typedef struct {  INTN   Left;  INTN   Top;  INTN   Right;  INTN   Bottom;} 
RECT;

//// C
BOOLEAN PointInRect(INTN x, INTN y, RECT rcDest){       if(x < rcDest.Left)   
return FALSE;     if(x > rcDest.Right)  return FALSE;     if(y < rcDest.Top)    
return FALSE;     if(y > rcDest.Bottom) return FALSE;     return TRUE;}

//// COD
; 12   :        if( PointInRect(rcSrc.Left, rcSrc.Top, rcDest) )      return 
TRUE;
  0001b 41 bd 20 00 00  00               mov     r13d, 32               ; 
00000020H  00021      48 8d 48 c8      lea     rcx, QWORD PTR [rax-56]  00025 
4d 8b c5         mov     r8, r13  00028 48 8b fa         mov     rdi, rdx  
0002b        e8 00 00 00 00   call    memcpy  00030  49 8b 2c 24      mov     
rbp, QWORD PTR [r12]  00034    49 8b 74 24 08   mov     rsi, QWORD PTR [r12+8]  
00039  48 3b 6c 24 20   cmp     rbp, QWORD PTR $T22009[rsp]  0003e     7c 1c    
        jl      SHORT $LN6@RectOverla  00040   48 3b 6c 24 30   cmp     rbp, 
QWORD PTR $T22009[rsp+16]  00045  7f 15            jg      SHORT 
$LN6@RectOverla  00047   48 3b 74 24 28   cmp     rsi, QWORD PTR $T22009[rsp+8] 
 0004c   7c 0e            jl      SHORT $LN6@RectOverla  0004e   48 3b 74 24 38 
  cmp     rsi, QWORD PTR $T22009[rsp+24]  00053  7f 07            jg      SHORT 
$LN6@RectOverla$LN33@RectOverla:  00055  b0 01            mov     al, 1  00057  
 e9 b3 00 00 00   jmp     $LN7@RectOverla$LN6@RectOverla:


UDK2014, Win8 64bit, VC2010, MdeModulePkg
                                          
------------------------------------------------------------------------------
Slashdot TV.  Videos for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to