0223 UNIWIN COOL REMOTE BUILD DEBUG
UNIWIN非常COOL GOOD的一个远程调试工具,经过作者的不断指点,目前我这支菜鸟已经成功编译PASS
ECLIPSE+CDT+UNIWIN+++REMOTE(REDHAT LINUX 9)
**** Incremental build of configuration Debug for project tttt ****
make -k all
Building file: ../tttt.cpp
Invoking: GCC C++ Compiler
O:/java/eclipse/Uniwin/bin/g++ -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
Finished building: ../tttt.cpp
Building target: tttt.exe
Invoking: GCC C++ Linker
O:/java/eclipse/Uniwin/bin/g++ -otttt.exe ./tttt.o
Finished building target: tttt.exe
Build complete for project tttt
运行也正常:
cd /home/sf/tttt/; /home/sf/tttt/Debug/tttt ;echo \’!!@@##HERE IS
THE END##@@!!\’
i = 0 Hello, embedded linux!
不过不知道是不是CDT的问题:不能定位错误行。UNIWIN作者指点我:
no, CDT有个problems view用于错误定位的。
window–>show view–>other…
Basic–>problems.
you can locate error very quick.
and usually the locations of errors will display some red marks on the
editor window. you can click the red mark and go to the error.
不过人心不足,得陇望蜀,想想ECLIPSE毕竟运行于JVM,速度不好,找找别的IDE:
MinGW Developer Studio is a Cross-Platform C/C++ IDE(Integrated Development Environment) for GNU GCC Compiler system.
看到作者说:
uniwin Guest
Posted: Fri Feb 17, 2006 11:54 am Post subject: Make MinGW Developer Studio a remote development environment
——————————————————————————–
sometime we may need to develop projects on UNIX boxes but still want IDEs based on Windows. Uniwin is the tool for this purpose. It is a small toolset to make an IDE be a remote develop environment seemlessly. Uniwin can be downloaded from http://sourceforge.net/projects/uniwin. Uniwin has already tested for Mingw Developer Studio. With it, Mingw Developer Studio can be used to develop remote projects just like developing local ones.
不知道是不是我RPWT:
我试图修改 OPTION–COMPLIE–F:\\MinGWStudio\\MinGW\\ 改为 O:\\java\\eclipse\\Uniwin\\bin
结果老是告诉我无效的编译路径??
作者指点:只要O:\\java\\eclipse\\Uniwin\\
果然OK了~~~~~强啊~~~~~~~~
Dev-C++ is an full-featured Integrated Development Environment (IDE) for Win32. It uses GCC, Mingw or Cygwin as compiler and libraries set.
我在编译选项里面修改
O:\\java\\eclipse\\Uniwin\\bin\\gcc.exe O:\\java\\eclipse\\Uniwin\\bin\\g++.exe O:\\java\\eclipse\\Uniwin\\bin\\make.exe O:\\java\\eclipse\\Uniwin\\bin\\gdb.exe
结果:
编译器: Default compiler
Building Makefile: "O:\\java\\eclipse\\works\\Makefile.win"
执行 make…
O:\\java\\eclipse\\Uniwin\\bin\\make.exe -f "O:\\java\\eclipse\\works\\Makefile.win" all
O:\\java\\eclipse\\Uniwin\\bin\\g++.exe -c sff.cpp -o sff.o -I"f:/Dev-Cpp/include/c++" -I"f:/Dev-Cpp/include/c++/mingw32" -I"f:/Dev-Cpp/include/c++/backward" -I"f:/Dev-Cpp/include"
O:\\java\\eclipse\\Uniwin\\bin\\make.exe: *** [sff.o] Error -1073741515
执行结束
晕倒~~~~~~~
标签:build, debug, remote, tools, uniwin, win0223 uniwin eclipse cdt gcc cygwin 3 ftp
0223 uniwin eclipse cdt gcc cygwin 1
http://www.yippeesoft.com/blog/p/0223uniwineclipsecdtgcccygwin1.php
0223 uniwin eclipse cdt gcc cygwin 2
http://www.yippeesoft.com/blog/p/0223uniwineclipsecdtgcccygwin2.php
终于发现问题所在:
我在LINUX下面直接运行也是如此:
[sf@mobile Debug]$ g++ -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
[sf@mobile Debug]$ g++ -otttt.exe ./tttt.o
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0×18): In function `_start\’:
../sysdeps/i386/elf/start.S:77: undefined reference to `main\’
collect2: ld returned 1 exit status
仔细一看:
总用量 4
drwxr-xr-x 2 sf root 4096 2月 23 12:40 Debug
-rw-r–r– 1 sf root 0 2月 23 09:21 t.c
-rw-r–r– 1 sf root 0 2月 23 12:22 tttt.cpp
文件居然都是空的?!
所以虽然编译出来
总用量 4
-rw-r–r– 1 sf root 1992 2月 23 12:40 tttt.o
但是没有办法连接了
但是看看UNIWIN的LOG,应该没有什么问题啊
local: O:/java/eclipse/works/tttt/tttt.cpp
==> remote: /home/sf/tttt/tttt.cpp
local: O:/java/eclipse/works/tttt/tttt.cpp
==> remote: /home/sf/tttt/tttt.cpp
没有报告什么
=> no operation taken.
之类的,真是非常奇怪~~~~~
然后在LINUX下面VI复制代码。直接编译出来A.OUT,运行OK,再用ECLIPSE编译
Building file: ../tttt.cpp
Invoking: GCC C++ Compiler
O:/java/eclipse/Uniwin/bin/g++ -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
Finished building: ../tttt.cpp
Building target: tttt.exe
Invoking: GCC C++ Linker
O:/java/eclipse/Uniwin/bin/g++ -otttt.exe ./tttt.o
Finished building target: tttt.exe
Build complete for project tttt
非常OK
0223 uniwin eclipse cdt gcc cygwin 4 ftp
代码:以前玩嵌入式LINUX交叉编译的
#include <stdio.h>
int main(void)
&leftsign;
int i;
for(i = 0; i < 6; i++)&leftsign;
printf("i = %d ",i);
printf("Hello, embedded linux!\\n");
&rightsign;
return 0;
&rightsign;
输出很正常
./tttt
i = 0 Hello, embedded linux!
i = 1 Hello, embedded linux!
i = 2 Hello, embedded linux!
i = 3 Hello, embedded linux!
i = 4 Hello, embedded linux!
i = 5 Hello, embedded linux!
可是我修改了一下循环次数,编译又出现
**** Incremental build of configuration Debug for project tttt ****
make -k all
Building file: ../tttt.cpp
Invoking: GCC C++ Compiler
O:/java/eclipse/Uniwin/bin/g++ -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
Finished building: ../tttt.cpp
Building target: tttt.exe
Invoking: GCC C++ Linker
O:/java/eclipse/Uniwin/bin/g++ -otttt.exe ./tttt.o
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0×18): In function `_start\’:
../sysdeps/i386/elf/start.S:77: undefined reference to `main\’
collect2: ld returned 1 exit status
Finished building target: tttt.exe
Build complete for project tttt
再一看LINUX下面文件
总用量 4
drwxr-xr-x 2 sf root 4096 2月 23 12:50 Debug
-rw-r–r– 1 sf root 0 2月 23 09:21 t.c
-rw-r–r– 1 sf root 0 2月 23 12:49 tttt.cpp
又为0字节了,我怀疑是FTP失败,创建了新文件,但是没有能够传输字节上去
标签:cdt, cli, cygwin, eclipse, ftp, gcc, uniwin, win0223 uniwin eclipse cdt gcc cygwin 2
0223 uniwin eclipse cdt gcc cygwin 1
http://www.yippeesoft.com/blog/p/0223uniwineclipsecdtgcccygwin1.php
0223 uniwin eclipse cdt gcc cygwin 3 ftp (2006-6-14)
0223 uniwin eclipse cdt gcc cygwin 4 ftp (2006-6-13)
原来老是习惯性按下 确定,把UNIWIN关了,打开之后再 BUILD 结果
Building file: ../tttt.cpp
Invoking: GCC C++ Compiler
O:/java/eclipse/Uniwin/bin/gcc -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
gcc: ../tttt.cpp: 没有那个文件或目录
gcc: no input files
Finished building: ../tttt.cpp
Building target: tttt.exe
Invoking: GCC C++ Linker
g++ -otttt.exe ./tttt.o
/bin/../lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../libcygwin.a(libcmain.o)(.text+0xb3): undefined reference to `_WinMain@16\’
collect2: ld returned 1 exit status
make: *** [tttt.exe] Error 1
make: Target `all\’ not remade because of errors.
Build complete for project tttt
看来是文件没有上传上去,按照作者说的,随便加了一个空格,保存,现在LINUX下面有了。
Building file: ../tttt.cpp
Invoking: GCC C++ Compiler
O:/java/eclipse/Uniwin/bin/gcc -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
Finished building: ../tttt.cpp
Building target: tttt.exe
Invoking: GCC C++ Linker
g++ -otttt.exe ./tttt.o
/bin/../lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../libcygwin.a(libcmain.o)(.text+0xb3): undefined reference to `_WinMain@16\’
collect2: ld returned 1 exit status
make: *** [tttt.exe] Error 1
make: Target `all\’ not remade because of errors.
Build complete for project tttt
继续修改BUILDER LINK 选项
**** Full rebuild of configuration Debug for project tttt ****
make -k clean all
rm -rf ./tttt.o ./tttt.d tttt.exe
Building file: ../tttt.cpp
Invoking: GCC C++ Compiler
O:/java/eclipse/Uniwin/bin/gcc -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
Finished building: ../tttt.cpp
Building target: tttt.exe
Invoking: GCC C++ Linker
O:/java/eclipse/Uniwin/bin/gcc -otttt.exe ./tttt.o
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0×18): In function `_start\’:
../sysdeps/i386/elf/start.S:77: undefined reference to `main\’
collect2: ld returned 1 exit status
Finished building target: tttt.exe
Build complete for project tttt
0223 uniwin eclipse cdt gcc cygwin 1
作者很强:升级很快
我还是装了一个vmware + linux测试了一下telnet/ftp组合,把最后的在我这边跑的很happy的放到一个叫02_22_2006的patch里面了。
于是今天继续试用:
作者说:
只要%path of uniwin%/uniwin/bin在PATH环境变量最前面,eclipse缺省调用gcc, 就会调用uniwin/bin/目录下的gcc。这块不用设置。
结果:
这是XP设置用户变量
O:\\微软\\VS6\\Common\\Tools\\WinNT;O:\\微软\\VS6\\Common\\MSDev98\\Bin;O:\\微软\\VS6\\Common\\Tools;O:\\微软\\VS6\\VC98\\bin;N:\\share\\UltraEdit-32;O:\\ms\\xpsdk\\Bin\\.;O:\\ms\\xpsdk\\Bin\\WinNT\\;
全局变量
O:\\java\\eclipse\\Uniwin\\bin;%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\system32\\WBEM;F:\\Program Files\\Common Files\\GTK\\2.0\\bin;F:\\WINXP\\Microsoft.Net\\Framework\\v1.1.4322;O:\\ms\\xpsdk\\Bin\\.;O:\\ms\\xpsdk\\Bin\\WinNT\\.;F:\\Program Files\\Microsoft SQL Server\\90\\Tools\\binn\\;F:\\Program Files\\Subversion\\bin
这是DOS下变量
Path=O:\\java\\eclipse\\Uniwin\\bin;F:\\WINXP\\system32;F:\\WINXP;F:\\WINXP\\system32\\WBEM;F:\\Program Files\\Common Files\\GTK\\2.0\\bin;F:\\WINXP\\Microsoft.Net\\Framework\\v1.1.4322;O:\\ms\\xpsdk\\Bin\\.;O:\\ms\\xpsdk\\Bin\\WinNT\\.;F:\\Program Files\\Microsoft SQLServer\\90\\Tools\\binn\\;F:\\Program Files\\Subversion\\bin;O:\\微软\\VS6\\Common\\Tools\\WinNT;O:\\微软\\VS6\\Common\\MSDev98\\Bin;O:\\微软\\VS6\\Common\\Tools;O:\\微软\\VS6\\VC98\\bin;N:\\share\\UltraEdit-32;O:\\ms\\xpsdk\\Bin\\.;O:\\ms\\xpsdk\\Bin\\WinNT\\;O:\\java\\eclipse\\Uniwin\\bin;F:\\WINXP\\system32;F:\\WINXP;F:\\WINXP\\system32\\WBEM;F:\\Program Files\\Common Files\\GTK\\2.0\\bin;F:\\WINXP\\Microsoft.Net\\Framework\\v1.1.4322;O:\\ms\\xpsdk\\Bin\\.;O:\\ms\\xpsdk\\Bin\\WinNT\\.;F:\\Program Files\\Microsoft SQL Server\\90\\Tools\\binn\\;F:\\Program Files\\Subversion\\bin;N:\\TOOLS;N:\\TOOLS\\NC;"D:\\ProgramFiles\\MicrosoftSQLServer\\80\\Tools\\Binn\\"
可是到了ECLIPSE第一个变成 M:\\CYGWIN\\BIN
然后就报告
Severity Description Resource In Folder Location Creation Time Id
1 Error launching \’cygpath\’ command tttt 2006年2月23日 9:29:31 3
Severity Description Resource In Folder Location Creation Time Id
1 C/C++ Indexer Problem: Preprocessor Inclusion not found: stdio.h in file: O:\\java\\eclipse\\works\\tttt\\t.c on line: 1. t.c tttt line 1 2006年2月23日 9:35:20 4
作者提示:
我也碰到这个问题过,我在step by step里写了eclipse和cygwin紧紧绑定,使用uniwin的时候‘如果装了cygwin, 请不要装gcc & g++那部分’。
不知道把cygwin的原来的gcc, g++换个名字行不行,我装了cygwin, 但是不装gcc, g++是可以的。
或者在eclipse配置project的编译器把gcc指定到O:\\java\\eclipse\\Uniwin\\bin\\gcc我想应该行的
我修改了一下:
**** Full rebuild of configuration Debug for project tttt ****
make -k clean all
rm -rf ./tttt.o ./tttt.d tttt.exe
Building file: ../tttt.cpp
Invoking: GCC C++ Compiler
O:\\java\\eclipse\\Uniwin\\bin\\gcc -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
O:javaeclipseUniwinbingcc: not found
make: *** [tttt.o] Error 127
make: Target `all\’ not remade because of errors.
Build complete for project tttt
修改 O:\\java\\eclipse\\Uniwin\\bin\\ 为 O:/java/eclipse/Uniwin/bin/ 结果
make -k clean all
rm -rf ./tttt.o ./tttt.d tttt.exe
Building file: ../tttt.cpp
Invoking: GCC C++ Compiler
O:/java/eclipse/Uniwin/bin/gcc -O0 -g3 -Wall -c -fmessage-length=0 -otttt.o ../tttt.cpp
Could not open file mapping object (2).
Running gserver first!
make: *** [tttt.o] Error 255
make: Target `all\’ not remade because of errors.
Build complete for project tttt
0222 uniwin linux ssh
乱码到是没事,我觉得telnet失败的原因是自动登陆没有成功。我临时又加了一个patch为telnet,这下自动登陆那块改了一改。
在系统菜单上摁那个\’x\’,或者关闭的命令,就是最小化隐藏.
你有没有试试采用ssh/sftp那套协议?
谢谢你的测试。不过我会让你一直测试到成功的,a \’failed\’ there make me XX
Yippee 回复于 2006年2月22日09:10 [删除] [修改]
我试验SSH/SFTP总是不知道怎么回事,按照网上资料的说法:上面两种方式都可以直接手动激活 sshd 这个服务!然后使用 netstat -tl 看看能不能看到 ssh 的服务在监听呢!?如果出现了上面那一行黄色字体,就表示您的 SSH 已经正确的激活啰!这真是太简单了吧!没错,但是他就是这么简单~
他倒是好家在,我就歹命呢,服务器上都很OK的样子,结果客户端死活登录超时。
而且我TELNET上去SSH自己也可以。
而远端就失败
==============================================================
The attempt to connect timed out without establishing a connection.
==============================================================
==============================================================
Connection to host is shutdown, Press <ENTER> to reconnect
==============================================================
ssh 192.168.9.29
The authenticity of host \’192.168.9.29 (192.168.9.29)\’ can\’t be established.
RSA key fingerprint is a1:51:a1:b2:f2:d1:d6:f4:48:1a:15:bd:ef:48:64:c9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added \’192.168.9.29\’ (RSA) to the list of known hosts.
sf@192.168.9.29\’s password:
[sf@mobile sf]$
查看端口:tcp 0 0 192.168.9.29:ssh *:* LISTEN
资料:
4.配置使用SSH
配置服务端
启动SSH服务端很简单只需要运行
# sshd
就可以了。或者在/etc/rc.conf中加入
sshd_enable="YES"
就可以在每次启动时自动运行SSH服务端了。
SSH服务端的配置使用的配置文件是“/etc/ssh/sshd_config”,并且OpenSSH1.x和2.x的服务器配置文件均为此文件。
4.啟動 ssh server — /etc/rc.d/init.d/sshd start
也可以設成開機自動執行 — chkconfig sshd on
运行命令: /etc/rc.d/init.d/sshd start
启动 sshd[ 确定 ]
大多數 Linux Distribution 的 sshd_config script 都是大同小異, 你只需改以下幾行就可以了。
# vi /etc/ssh/sshd_config
#在這裡我們可以改 port number, 當然這不能阻止駭客的攻擊, 但可以防止專攻 port 22 的蠕蟲或 script kiddies。
Port 9822
#Protocol 2,1 – 舊 ssh 是用 protocol 1 的, 但現在已全改用了 protocol 2, 除非你還有好舊的機才要用 protocol 1。
Protocol 2
#如果你部機用的是 dynamic IP, 就要用以下四個零 IP, 但如果你用的是 static IP, 就把那四個零改用你部機的 IP。
ListenAddress 0.0.0.0
也改呢
Port 22
Protocol 2,1
ListenAddress 192.168.9.29
#ListenAddress ::
0221 uniwin eclipse setup faq
试用UNIWIN,和作者YiLu Zhou(上海)的一些问答,学习呢一些东西,记录一下。
[quote]
I think you are using the ftp-webdav of eclipse 3.1.x. It is always failed when I use uniwin with eclipse 3.1.x. I noticed this and pointed it out in in the step by step. Yes, I also think it is because of the pasv mode of ftpd in uniwin. Eclipse 3.2 M4 & eclipse 3.0.x \’s ftp-webdav components worked very well with uniwin (It is also written in the step by step). In the last page of step by step, there is also one note about this.[/quote]
Yippee 回复于 2006年2月20日14:16 [删除] [修改]
是的,我看到了你的说明,只是因为我已经下载了3.12 100多M,而且更新的时候,发现FTP-WEBDAV在3.12下面,所以想试一试。我这里倒是没有崩溃,问题就是无论我是否选取 FTP 的PASS选项,直接连接我的服务器也没有办法列举文件夹。而我用FLASHFTP之类的软件都可以的。
[quote]
ftp-webdav is only needed at the first step of development if you already have a project on the server. You can download the whole project from server to local with any other sftp tools if you are going to stick on eclipse 3.1.x. if you are going to start with a new project, I do not thin you need to install ftp-webDav of eclipse. [/quote]
Yippee 回复于 2006年2月20日14:20 [删除] [修改]
如果我没有安装 FTP-WEBDAV,那么按照你的说明,我那个同步那里就只有CVS,没有FTP WEBDAV之类的,所以我想那么无论是新建还是取出,我都没有办法进行了吧,因为你的程序也是使用FTP的啊。 我试验了五次之后居然又可以了 。
[quote]
please download a patch (uniwin.0.5a.patch.ftpd.00.zip) from http://sourceforge.net/projects/uniwin. I think it will solve this problem.[/quote]
Yippee 回复于 2006年2月20日14:26 [删除] [修改]
下载了,仍然不行,而我ECLIPSE直接接入服务器FTP枚举目录可以,奇怪。
[quote]
不是的,ftp-webdav唯一的用处对于开发是开始的时候如果你已经有了一个project了,你可以用他来上载,下传。以后就用处不大了。开始的上载下传完全可以用其他sftp工具的。[/quote]
Yippee 回复于 2006年2月20日14:32 [删除] [修改]
那么我根据说明设置完UNIWIN之后,应该怎么运行配置ECLIPSE才能让它在服务器上调试? FTP LOG gftp stoped!
gftp started…
psftp>
gserver 1 died, restarting…
gserver 1 starting write thread.
gserver 0 died, restarting…
gserver 1 starting read thread.
gserver 0 starting write thread.
gserver 0 starting read thread.
gcc died, restarting gcc thread.
[quote]
你使用telnet/ftp在server那一端?那完全没必要uniwin带的ftp–>sftp转换。ftp eclipse直接支持,但是他不支持sftp,现在大部分服务器用sftp所以才做了一个ftp–>sftp转化的。哈哈。
那你直接用uniwin的telnet/ftp那套协议,但是这套说实话,我自己测试也不多。我所有的服务器都市ssh/sftp的了[/quote]
Yippee 回复于 2006年2月20日14:36 [删除] [修改]
这个我重新设置了,把SSH/SFTP端口都改为正常的TELNET FTP,我就是不明白如果象你说的不用FTP,那么我怎么让它本机运行,远端调试,根据MAGIC C++来看,应该是FTP同步文件,TELNET传送调试命令信息。
[quote]
使用telnet/ftp在配置uniwin的时候请不要选中\’secured connections(ssh vs telnet)\’ 和\’\’secured connections(sftp vs ftp)\’[/quote]
Yippee 回复于 2006年2月20日14:41 [删除] [修改]
是的,这个我已经修改了,包括端口号,不然 TEST不能PASS
现在的问题我想可能是您应该普及一下ECLIPSE,我看您的两个文档,一个是UNIWIN的说明;一个STEP好像说的是UNIWIN的配置,可是怎么把ECLIPSE和它结合呢?您说WEBDAV设置127.0.0.0,可是又说这个不需要,所以我就迷糊呢。
[quote]
sorry, I have not tested uniwin on telnet/ftp protocol, all documents and default configurations are based on ssh/sftp. I even cannot guarentee that uniwin will work using telnet/ftp protocols.[/quote]
hehe, I have no telnet/ftp server on hand now.[/quote]
Yippee 回复于 2006年2月20日15:56 [删除] [修改]
这个没有关系,明天我在服务器上弄上SSH再试一试。:)按照原理上来说应该是一样的吧。你能不能说一说UNIWIN和ECLIPSE怎么结合?谢谢!
[quote]
eclipse编辑本地的project,uniwin时刻检测那些mapping list指定的目录下的文件(windows下很容易实现自动检测文件修改了不)。比如eclipse编辑了文件之后,存盘,uniwin检测到有文件修改后通过sftp或者ftp在后台把文件悄悄的upload上去。uniwin自动同步local的和remote文件,所以eclipse或者其他IDE总认为在操作本地的文件,本地的project.[/quote]
Yippee 回复于 2006年2月20日20:56 [删除] [修改]
原来是这样,但是我觉得这样可能效率不高,不如MAGIC C++直接每次FTP那么直观,因为一般WINDOWS下都有杀毒软件,这样的话,如果我一次改了十几个文件,一次保存,此时MCAFEE可能在查毒,UNIWIN还在FTP文件,这时我肯定会按下编译按钮,那么此时编译就可能出现问题。 我以前机器配置不高的时候,VC6都经常出现这种问题。编译器崩溃。因为文件还没有真正保存下来。
[quote]
再通过改变那些工具链gcc, gdb等,eclipse或者其他的IDE的所有操作都被uniwin截获,这样,uniwin先到server上运行命令,把结果返回给eclipse或者其他IDE。[/quote]
Yippee 回复于 2006年2月20日20:59 [删除] [修改]
我就是没有找到如何改变工具链的设置在哪里。UNIWIN里面好像没有。
[quote]
事实上,配置好了之后,eclipse就和平常一样生成本地的project,本地操作,根本不用ftp-webdav手动同步的,那个就开始的时候用的。由于ftp-webdav只支持ftp所以我做了一个ftp–>sftp.[/quote]
Yippee 回复于 2006年2月20日21:01 [删除] [修改]
原来如此,我理解了,原来UNIWIN程序就已经实时监控了,有个小小的建议,UNIWIN已经有了TRAYICON,为什么没有最小化隐藏?
[quote]
could you run a command \’gssh -telnet -pw your.passwd -P telnet.port your.name@your.server\’ and give me the result?
I have no unix telnet server, and those telnet server for NT behaviour strange versus the unix telnet servers. I only test few NT telnet servers.[/quote]
Yippee 回复于 2006年2月21日08:06 [删除] [修改]
很抱歉,下午没有来得及试验,明天上午上班后我会记录结果在这里。我觉得你可以本机再跑个VMWARE /VPC 装个最小的LINUX。
GSSH首先报告:Could not open file mapping object (2).Start server first!
启动UNIWIN之后再运行,提示输入密码,输入密码之后,OK,显示文件列表乱码。
[quote]
gssh is a modified plink, could you download a plink and treat it as a telnet client? using plink connect to your unix server, please specify all password, username, telnet protocol, and port in the command line. The help of plink is deleted from gssh.[/quote]
Yippee 回复于 2006年2月21日08:12 [删除] [修改]
OK,我会下载一个试一试的。TortoisePlink.exe 行不行? 我用的PUTTY的PLINK,命令是:N:\\Green\\internet\\putty>plink -telnet -P 23 sf@12334 结果如同GSSH,输入 密码后,列表乱码。-rw-r–r– 1 sf mysql 144 2005-07-06 [00;32mjavaset.sh[00m
参见:
0220 eclipse cdt uniwin failed
http://www.yippeesoft.com/blog/p/0220eclipsecdtuniwinfailed.php
mimetic Uniwin
http://www.yippeesoft.com/blog/p/0210mimeticUniwin.php
http://www.yippeesoft.com/blog/p/BVRDEwtl.php Magic c++ BVRDE wtl
标签:cli, eclipse, setup, uniwin, win0220 eclipse cdt uniwin try
uniwin可以作为一个IDE和服务器之间的转发PROXY,这样就可以在WINDOWS下编辑,UNIX/LINUX服务器上编译
类似于MAGIC C++,但是它不用自己的IDE,可以使用ECLIPSE DEV-CPP MINGW之类的IDE
Uniwin是一套基于ssh/sftp技术的用于在Windows客户端开发远程Unix服务器程序的软件。
Uniwin自带了两个极其有用的小工具。一个是基于SFTP的客户端和远程服务器之间的文件同步,能够通过SFTP协议实时的同步客户端和服务器的指定的目录下的任何文件。另外一个是FTP/SFTP桥,Uniwin为了支持eclipse的同步工具,自带了一个全功能,多线程的FTP到SFTP协议转化程序,在本地提供FTP服务,同时又是远程Unix服务器的一个SFTP客户程序。
uniwin的工作机理是对GNU Toolchain做包装,将他们变成通讯程序了,从底层着手,IDE调用gcc, g++, gdb的时候根本感觉不到这些工具有什么不一样,所以对所有IDE通吃。
uniwin支持什么Code::Blocks, Dev-Cpp, Relo, MingW Developer Studio, Vide and ….。总有一个成的。Cygwin/DDD也被Uniwin改造成远程调试器了。我还附带加了X11程序的远程调试开发。
0210 mimetic Uniwin (2006-5-1) http://www.yippeesoft.com/blog/p/0210mimeticUniwin.php
TCP 10.10.30.40 : 5002 192.168.11.11 : 21 ESTABLISHED 25420 K:4\\java\\eclipse\\Uniwin\\bin\\ftpd.exe
TCP 10.10.30.40 : 5018 192.168.11.11 : 21 ESTABLISHED 25420 K:4\\java\\eclipse\\Uniwin\\bin\\ftpd.exe
TCP 127.0.0.1 : 21 127.0.0.1 : 4987 CLOSE_WAIT 25420 K:4\\java\\eclipse\\Uniwin\\bin\\ftpd.exe
TCP 10.10.30.40 : 4992 192.168.11.11 : 21 ESTABLISHED 25420 K:4\\java\\eclipse\\Uniwin\\bin\\ftpd.exe
TCP 127.0.0.1 : 21 127.0.0.1 : 5001 CLOSE_WAIT 25420 K:4\\java\\eclipse\\Uniwin\\bin\\ftpd.exe
TCP 127.0.0.1 : 21 127.0.0.1 : 5017 CLOSE_WAIT 25420 K:4\\java\\eclipse\\Uniwin\\bin\\ftpd.exe
TCP 0.0.0.0 : 21 0.0.0.0 : 0 LISTENING 25420 K:4\\java\\eclipse\\Uniwin\\bin\\ftpd.exe
TCP 10.10.30.40 : 5048 192.168.11.11 : 23 ESTABLISHED 25380 K:4\\java\\eclipse\\Uniwin\\bin\\gssh.exe
TCP 10.10.30.40 : 5043 192.168.11.11 : 23 ESTABLISHED 25380 K:4\\java\\eclipse\\Uniwin\\bin\\gssh.exe
TCP 10.10.30.40 : 5047 192.168.11.11 : 23 ESTABLISHED 25380 K:4\\java\\eclipse\\Uniwin\\bin\\gssh.exe
TCP 10.10.30.40 : 5044 192.168.11.11 : 21 ESTABLISHED 28360 K:4\\java\\eclipse\\Uniwin\\bin\\gtftp.exe
按照它的STEP STEP基本配置OK,可是没有办法同步,同步的时候总是最后报告失败。
本机直接FTP实验了一下
c:\\>ftp 127.0.0.1
Connected to 127.0.0.1.
220 SFTP server ready.
User (127.0.0.1:(none)): sf
331 Password required for sf
Password:
Connection closed by remote host.
直接远程
c:\\>ftp 192.168.11.11
Connected to 192.168.11.11.
220 (vsFTPd 1.1.3)
User (192.168.11.11:(none)): sf
331 Please specify the password.
Password:
230 Login successful. Have fun.
ftp> ll
Invalid command.
ftp> ls
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
ftp> ls
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
估计是那个PASV的问题?
标签:cdt, cli, eclipse, try, uniwin, win0210 mimetic Uniwin
当初的bkrender是delphi写的,因此转成borland C++最简单, 但效率实在不行。后来找到一个很好的MIME库,它是支持intel C++和VC.net, 效率高很多,而且更容易便用。
mimetic is a GPL MIME library written in C++ designed to be easy to use and integrate but yet fast and efficient.
I\’m a fan of the C++ Standard Library so mimetic has been built around the standard lib. This means that you\’ll not find yet another string class or list implementation and that you\’ll feel comfortable in using this library from the very first time.
mimetic doesn\’t use exceptions but it heavily uses templates so a mostly standard compliant C++ compiler is required. I developed it using GCC 3.x and tested on most Unixes. When it comes to performance the stdlib is important (and GCC\’s is not the fastest library around) so mimetic code include some classes that are not strictly needed but are there just to improve performance (for ex. the File class for memory mapped file access).
Most classes functionalities and behavior will be clear if you ever studied MIME and its components; if you don\’t know anything about Internet messages you\’ll probably want to read some RFCs to understand the topic and, therefore, easily use the library whose names, whenever possible, overlap terms adopted in the standard RFC documents. At the very least: RFC 822, RFC 2045 and RFC 2046. A more complete list can be found at the Earl Wood\’s MIME page.
Being a programmers I know that a code snippet is better then thousand words
, so if you want you can jump to the Code Snippets section.
有人留言why not try uniwin & eclipse. Uniwin make eclipse/CDT or any GCC IDE a remote development enviroment.
Uniwin
Uniwin is a ssh/sftp based toolset to develop C/C++ systems on remote Unix servers based on Windows clients. Uniwin is especially optimized for eclipse/CDT development system.It doest not have its own GUI, but use the GUI from eclipse/CDT. Registered : 2006-01-17 09:10
Project Admins: uniwin
Operating System: All 32-bit MS Windows (95/98/NT/2000/XP)
License: GNU General Public License (GPL)
uniwin, 另外一个基于windows的远程开发系统
我这个暑假由于一个工程项目的原因需要在windows调试开发一个SUN服务器上的软件。链接,修改,上传,编译,下载,修改,再上传的把我折腾得够戗,由于安全原因不能在服务器上装个服务程序,所以没法用magic c++. 最近比较有空我就写了一个和magic c++类似功能得程序。不过我没写界面,界面用的是eclipse/CDT。和服务器之间通过SSH/SFTP链接。因此不需要再装服务软件。另外又做了几个小工具就把eclipse/CDT改造成一个远程调试开发系统。
要是有兴趣得可以在我的网页上下载一个玩玩。
http://www.u.arizona.edu/~yilu/uniwin/Uniwin.zip
这里是一个简短得说明
----------------------------------------
Uniwin是一套基于ssh/sftp技术的用于在Windows客户端开发远程Unix服务器程序的软件。Uniwin通过改写了GNU工具链为一些客户端的小桩 (STUB) 程序以及实时同步Windows客户端和服务器代码,为远程开发提供了一个无缝的接口。类似的产品,如Magic C++,与之不同,Uniwin直接使用ssh/sftp协议,因此服务器端不需要运行任何服务程序。Uniwin自己不提供图形开发界面,但是Uniwin为eclipse/CDT做了专门的优化,Uniwin自身经过一些简单配置后,就可以为eclipse/CDT从底层提供一个远程开发调试的环境,这是,eclipse就是被改造为一个远程调试的集成开发环境。许多eclipse带来的同步工具例如FTP-webDAV,Uniwin通过FTP/SFTP桥的模式直接解决了eclipse同步工具不支持SFTP的问题。由于Uniwin从底层出发,所以除了eclipse/CDT,他同时能无缝的将其他IDE改造为远程开发系统,例如,在调试工具中,Uniwin的gdb桩(STUB)能直接支持cygwin带来的DDD图形调试界面。所有Uniwin的提供的程序都是帮助集成开发环境(如eclipse/CDT)完成客户端和服务器端的通信和文件同步的。所以所有诸如编译,调试以及运行都发生在服务器端,客户端只是一个图形界面系统以及编辑功能。Uniwin可以定义为集成开发系统(eclipse/CDT)背后的通信员和搬运工 (A labor behinds IDE)。正确配置Uniwin后,可以使用eclipse/CDT象开发本地程序一样开发远程程序。
Uniwin自带了两个极其有用的小工具。一个是基于SFTP的客户端和远程服务器之间的文件同步,能够通过SFTP协议实时的同步客户端和服务器的指定的目录下的任何文件。另外一个是FTP/SFTP桥,Uniwin为了支持eclipse的同步工具,自带了一个全功能,多线程的FTP到SFTP协议转化程序,在本地提供FTP服务,同时又是远程Unix服务器的一个SFTP客户程序。
注:eclipse是由IBM提供的源码发展出来的集成开发环境,目前已经成为事实上的集成开发环境的工业标准。
看了看作者的主页,还是一位中国女性
Yilu Zhou
Is a doctoral candidate in the Department of Management Information Systems at the University of Arizona, where she is also a research associate of the Artificial Intelligence Lab. Her current research interests include multilingual knowledge discovery, Web mining, text mining and human computer interaction. She received a B.S. in Computer Science from Shanghai Jiaotong University.
Oboe and Me
The oboe is a musical instrument of the woodwind double reed family. The word "oboe" is derived from the French word hautbois, meaning "high wood".
–wikipedia
认识了一个乐器 双簧管
People in the A.I. Lab – Ph.D. Students – AI Lab
Tianya Haijiao, Shanghai, China 呵呵
不过一直不知道怎么弄中文名字 周 依 露,我LP干脆就认为是 一路走,强人啊!
GOOGLE搜索建议:您是不是要找: "一路周" "以泸州" " 路走"
下载下来看看
What is new in this Uniwin package?
SSH link speed optimization. The new Uniwin using a multithread ssh library to open several links when system startup, just like ftp/sftp bridge did in previous version. In this package, all application stubs will try to use pre-connected links first, no connection needed on the request.
Direct memory copying between processes. The new Uniwin will copy data between those gnu utility stubs and ssh link server directly using shared memory. There is no buffer in the middle of them. The gcc link (or compiler) is highly optimized for speed.
Sample source codes. This package also includes source codes of two samples, which are gcc.exe (cmd.zip) and gapp.exe (cmd2.zip). One uses the special gcc link and another one uses the normal pre-connected link.
GCC IDE and GDB front-end. A GCC IDE with source codes and a full functioned gdb front-end are incorporated into this package. Please refer to IDE.README.DOC for more information about these two front-ends.
What is Uniwin
Uniwin is a ssh/sftp based toolset to develop C/C++ systems on remote Unix servers (including all Unix systems supporting ssh and sftp) based on Windows clients. Uniwin is especially optimized for eclipse/CDT development system. It does not have its own GUI but much more like a labor behind eclipse. By automatically synchronizing the source files on the client with the server and replacing GNU toolsets with some small stubs for them, Uniwin presents a seamless interface for remote development. Nothing needs to be changed to your favorite development environment just like you are developing on a local system. With a simple configuration procedure, all operations such as editing, compiling, and debugging will be exactly same as developing a local program.
Uniwin also can be used as an automatical SFTP file synchronizing system between local Windows client and remote server. Another usage of Uniwin may be treating it as a FTP to SFTP Bridge. In fact, a fully functioned, multi-threaded FTP to SFTP Bridge is incorporated into the package to support the team synchronizing tools provided by eclipse.
The advantage of Uniwin is it brings no change to you but providing a remote development environment in the backend.
How Uniwin Works
Uniwin rewrites the gnu toolset to some small stub programs.All programs provided by Uniwin are communication programs. So all compiling, debugging and running are happened on the server side, client side works as a GUI only and the editing also happens on the client side. The synchronizing tool helps you to solve the problem of client editing, it will automatically synchronize source files with those on the server and update the server side source files if needed.
标签:uniwin, win