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
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel