2012年7月30日 星期一

compile FAAC in MIPS

在 Project libmp4v2_st  mpeg4ip_win32.h 中
Error:
沒有 errno.h
沒有 io.h
沒有 fcntl.h
沒有 sys/types.h
沒有 sys/stat.h
沒有 sys/timeb.h


沒有 vsnprintf_s  改成 _vsnprintf
沒有 printf_s 及 fprintf_s 改成 printf  及 fprintf
沒有 ERANGE EACCES EINVAL --> 從 WIN32 errno.h copy


Project  faac  input.c
沒有 O_BINARY 用 _O_BINARY
沒有 perror()
沒有 rewind() 用fseek( sndf->f, 0, SEEK_SET); 取代

main.c
沒有 SetConsoleTitle()

mp4file.cpp
沒有 GetTempFileNameA() 要改成 GetTempFileNameW()
沒有 remove() 跟 rename()


getopt.c
沒有 getenv()


need_for_win32.c
沒有 sys/timeb.h so 沒有 _ftime() 所以要改寫 gettimeofday


mp4util.c
沒有 strerror()


Link 時會出現

fatal error LNK1112: module machine type 'mips' conflicts with target machine type 'x86'


在 project faac 的 Link 額外選項 把/Machine:i386 刪掉


會出現 沒有 WinMainCRTStartup 錯誤

fuck!
WIN32 的 entry point 是 wmainCRTStartup 或 mainCRTStartup 
而 WINCE 的 entry point 是 mainWCRTStartup 或 mainACRTStartup
http://msdn.microsoft.com/en-us/library/f9t8842e(v=vs.80).aspx


沒有 _ntohl , link WS2.lib


Link Error:
(In faacgui)

unresolved external symbol:

DragAcceptFiles
沒有WM_DROPFILES


發現 faac, mp4creator(mp4muxer) 用的都是 libmp4v2

沒有留言: