2010年11月29日 星期一

Transfer file from Windows with SSH to Ubuntu

This will tell you how to transfer files from Windows to Ubuntu.

1) Download SSH client programs
    Here, I'm using Putty as the client of Windows side.  Download All binary is recommended.  We will use PSCP to transfer file.

2) Extract all putty binary to somewhere.  Add "C:/Path/To/All/Putty/Binary" to My Computer/Environment variable/Path .  So that we can use the command line to upload file.

3) Install ssh by typing:
sudo apt-get install ssh
.

4) Open cmd of the Windows, use following command to transfer file to Ubuntu computer
pscp [-r] <source file path> <name>@<IP><destination path from ~ >

2010年11月26日 星期五

Using wxWidgets with Code::Blocks, problem's about "Undefined reference to 'vtable for XXXX' "

According to this post, the reason of linking error " Undefined reference to 'vtable for XXXX' " is due to some of the virtual function is not written.  Especial from the inherent one.

But with Code::Blocks, there is another possibility that could leads the problem.  After some research, I discovered a quick to fix the problem, especially the problem is not cause from you but the library.

Code::blocks in Linux may automatically call some program to get config.  For example: run following on the terminal:

$wx-config --libs
-L/usr/local/lib -pthread   -lwx_gtk2u_xrc-2.9 -lwx_gtk2u_html-2.9 -lwx_gtk2u_qa-2.9 -lwx_gtk2u_adv-2.9 -lwx_gtk2u_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9 


This is a result from my computer.  According to 'wx-config --help', the default output of this parameter is the basic, standard of the linkers.  In other word, some special library is not included.


Instead using 'wx-config --libs', you may try following:


$wx-cinfig --libs all
-L/usr/local/lib -pthread   -lwx_gtk2u_xrc-2.9 -lwx_gtk2u_stc-2.9 -lwx_gtk2u_richtext-2.9 -lwx_gtk2u_ribbon-2.9 -lwx_gtk2u_propgrid-2.9 -lwx_gtk2u_aui-2.9 -lwx_gtk2u_media-2.9 -lwx_gtk2u_html-2.9 -lwx_gtk2u_qa-2.9 -lwx_gtk2u_adv-2.9 -lwx_gtk2u_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9 


Soon you may discovered that the number of the linker has increased.  This is the main reason that cause you mad.


To modify the setting, goto project properties... → Project build options → Linker Setting → Other linker options.

Change 'wx-config --libs' to 'wx-cinfig --libs all', and re-compile the project.

2010年11月25日 星期四

About wxMediaCtrl in wxWidgets

Recently, I was running on wxMediaCtrl to make a MetroLyricMaker

to use wxMediaCtrl, you must pass  --enable-mediactrl to ../configure.


You may also install libgstreamermm-0.10-dev to build the library