Alexander Zubko wrote:
> Hi, All!
>  
> First of all I want to thank developers for your great work! CeGcc is 
> very useful and helpful. It gave me a reason to learn more about great 
> open-source tools.
>  
> Now as for my problem.
> I'm trying to port small part of FFMPEG lib to WinCE and have some 
> troubles with linking with Microsoft Visual Studio 2005 Project
>  
> For porting I've created static lib project in VS2005, added files I was 
> needed and used custom build specification for them:
> "D:\mingw32ce\bin\arm-wince-mingw32ce-gcc.exe" @command_debug -c 
> "$(InputPath)" -o "$(IntDir)\$(InputName).obj"
>  

It's almost funny to do that :)

> My command_debug file:
>  
> -std=c99
> -D HAVE_AV_CONFIG_H
> -D CONFIG_MPEG4_DECODER
> -D ARCH_ARMV4L
> -D ARM
> -D NDEBUG
> -D FFMPEG_EXPORTS
> -w
> -mno-apcs-frame
> -mtune=xscale
> -march=armv4
> -I.
> -Ilibavutil
> -Ilibavcodec

--

 > -I/usr/include
 > -I/usr/include/w32api
 >

This is most certainly wrong.  Don't use the system headers
for the cross-compiler.  mingw32ce already includes by default a
port of the w32api headers.  You'll find them in
/opt/mingw32ce/arm-wince-mingw32ce/include/*.  No need to -I that
dir.


 > -D UNICODE
 > -D _WIN32
 > -D _WIN32_WCE
 > -D __MINGW32__
 > -D __cdecl=
 > -fno-leading-underscore
 > -fsigned-char

At least these shouldn't be needed.


> I get lib file without any errors, but when I link it to another pure 
> VS2005 project I get these unresolved external errors.
> These symbols: _impure_ptr and __imp__ctype_ are not found in ffmpeg 
> code, so I think they come from one of CeGcc libraries.
>  
> This function has code that results in _impure_ptr unressolved external:
> 

You've lost me.  These come from newlib, which cegcc uses.  But you mentioned
mingw32ce.  In any case, ffmpeg should be built with mingw32ce.


> void av_log_default_callback(void* ptr, int level, const char* fmt, 
> va_list vl)
> {
>     static int print_prefix=1;
>     AVClass* avc= ptr ? *(AVClass**)ptr : NULL;
>     if(level>av_log_level)
>         return;
> #undef fprintf
>     if(print_prefix && avc) {
>             fprintf(stderr, "[%s @ %p]", avc->item_name(ptr), avc);
>     }
> #define fprintf please_use_av_log
> 
>     print_prefix= strstr(fmt, "\n") != NULL;
> 
>     vfprintf(stderr, fmt, vl);
> }
>  
> And __imp__ctype_ occurs if there was a call to _isctype() std function.
>  
> Can somedody help me, please?
>  
> 

Cheers,
Pedro Alves


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to