Archive for 5月 2013

使用SDL+FFMPEG将视频绑定到指定窗口显示颜色失真

在学习使用SDL+FFMPEG来制作简易播放器时,发现将图像显示到指定窗口上时,颜色会出现失真情况,设置窗口大小代码如下:

RECT wrect;
GetWindowRect((HWND)m_hwnd, &wrect);
m_nWidth = wrect.right - wrect.left;
m_nHeight = wrect.bottom - wrect.top;
m_surface = SDL_SetVideoMode(m_nWidth, m_nHeight, 0, 0);

Continue reading ‘使用SDL+FFMPEG将视频绑定到指定窗口显示颜色失真’ »

linux设置启用生成core文件

某些时候,需要监测程序异常退出的问题,可以使用生成core文件方式来定位问题

使用以下命令查看是否启用了core文件生成

ulimit -a

Continue reading ‘linux设置启用生成core文件’ »

linux使用SSH协议上传下载文件

在linux的终端中使用ssh命令可以登陆到远程机器,若需要上传或下载文件的话,可以使用scp命令。

如要登陆到192.168.1.10的linux机器时,在本机使用ssh 192.168.1.10,回车后按提示输入用户名密码,登陆成功。

若需要上传文件,如要将本机的/home/a.txt上传到192.168.1.22机器上的/opt/目录中,则使用以下命令

scp /home/a.txt root@192.168.1.22:/opt/

然后按提示输入root用户的密码

若需要下载文件,如要将远程机器中的/etc/test.txt下载到本南的/home/目录中,则使用以下命令

scp root@192.168.1.22:/etc/test.txt /home/

然后按提示输入root用户的密码

ACE链接错误解决办法

今天编写程序时,某个工程需要用到互斥锁,而ACE正好有这个函数,在成员变量中加入下面这句:

private:
    ACE_Recursive_Thread_Mutex m_listBuffLock;

编译链接的时候报以下错误:

1>Linking...
1>   Creating library ../lib/MediaConverterModule.lib and object ../lib/MediaConverterModule.exp
1>MediaConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall ACE_Recursive_Thread_Mutex::release(void)" (__imp_?release@ACE_Recursive_Thread_Mutex@@QAEHXZ)
1>MediaConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall ACE_Recursive_Thread_Mutex::acquire(void)" (__imp_?acquire@ACE_Recursive_Thread_Mutex@@QAEHXZ)
1>MediaConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall ACE_Recursive_Thread_Mutex::~ACE_Recursive_Thread_Mutex(void)" (__imp_??1ACE_Recursive_Thread_Mutex@@QAE@XZ)
1>MediaConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall ACE_Recursive_Thread_Mutex::ACE_Recursive_Thread_Mutex(wchar_t const *,struct ACE_mutexattr_t *)" (__imp_??0ACE_Recursive_Thread_Mutex@@QAE@PB_WPAUACE_mutexattr_t@@@Z)
1>../bin_release/MediaConverterModule.dll : fatal error LNK1120: 4 unresolved externals

Continue reading ‘ACE链接错误解决办法’ »

编译ACE提示undefined reference to `in_word_set(char const *, unsigned int)’

使用linux编译ACE库,按照官网的步骤创建config.h文件和platform_macros.GNU文件后,使用make命令编译,结果提示以下错误:

/usr/local/ACE_wrappers/apps/gperf/tests/test.cpp:28: undefined reference to 
`in_word_set(char const *, unsigned int)'
collect2: ld returned 1 exit status
make[4]: *** [cppout] Error 1
make[4]: Leaving directory `/usr/local/ACE_wrappers/apps/gperf/tests'

其实是因为步骤少了一步,设置LD_LIBRARY_PATH的环境变量值,使用以下命令,重新编译即可:

export LD_LIBRARY_PATH=$ACE_ROOT/lib