[疑难] Tango到底能用吗?

jinheking 2007-03-20
我想用Tango实现ftp功能,一位老大告诉我http://www.dsource.org/projects/tango/docs/current/tango.net.ftp.FtpClient.html这个可以实现

我按照里面的例子搞了一下
import tango.stdc.stdio;
import tango.net.ftp.Telnet.Telnet;
void main(){
printf("Hello Tango");
}

有这样的错误提示
hello.d(2): module Telnet cannot read file 'tango\net\ftp\Telnet\Telnet.d'


Tango能用吗?连自己的例子都不能运行!
jinheking 2007-03-20
问题检查出来了,应该是

import tango.net.ftp.Telnet;
但是有新的问题

待续……
jinheking 2007-03-20
正确的写法应该是
import tango.stdc.stdio;
import tango.net.ftp.FtpClient;
void main(){
auto ftp = new FTPConnection("hostname", "user", "pass",21);
ftp.mkdir("test");
ftp.close();

printf("Hello Tango");
}

错误代码如下:
c:\dmd\bin\..\..\dm\bin\link.exe hello,,,user32+kernel32/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

hello.obj(hello)
Error 42: Symbol Undefined _D5tango3net3ftp9FtpClient13FTPConnection7__ClassZ
hello.obj(hello)
Error 42: Symbol Undefined _D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFAaA
aAaiZC5tango3net3ftp9FtpClient13FTPConnection
--- errorlevel 2


我真是崩溃了
tomqyp 2007-03-20
自从知道了D和这里,就每天来看看贴子和文章成了我学习D的一个重要途径,不过这几天高人们发言都好少啊
tomqyp 2007-03-20
其实我觉得你应该仔细看看编译和链接器的错误提示
Error 42: Symbol Undefined _D5tango3net3ftp9FtpClient13FTPConnection7__ClassZ
这个应该是说明你没有加入tango的库

我编译你的例子是这样链接的
D:\D\dmd\bin\..\..\dm\bin\link.exe objs\test,test,,D:\D\dmd\import\tango\tango\lib\tango.lib+user32+kernel32/noi;
你改成你自己的路径试试

或者用build这个工具试试,这个可以避免不少这方面的麻烦

希望对你有帮助.
jinheking 2007-03-20
我的tanggo库添加了下面是我的sc.ini文件
[Version]
version=7.51 Build 020

[Environment]
LIB="%@P%\..\import\tango\lib;%@P%\..\lib;%@P%\..\..\dm\lib"
DFLAGS="-I%@P%\..\import\tango" -version=Tango
LINKCMD=%@P%\..\..\dm\bin\link.exe

而且我编了一个小的程序
import tango.stdc.stdio;
void main(){
printf("Hello Tango");
}
编译是可以通过的,运行也一点问题也没有。

我感觉我的环境应该没有问题
jinheking 2007-03-20
-version=PhobosCompatibility
rebuild dirlist.d -dc=dmd-win-tango -Ic:\dmd\import\tango  -Sc:\dmd\import\tango\lib -version=PhobosCompatibility -L/exet:nt/su:windows:4.0 -full

有说这么做的,但是还是失败了!
player7 2007-03-20
c:\dmd\bin\..\..\dm\bin\link.exe hello,,,user32+kernel32/noi;

没有链接到 tango.lib 嘛。。。
----------------------------------------
给你个例子吧,按你的配置
如果:
-------
dmd hello
pause
-------

上面这个批处理就会提示出错
下面:

dmd hello tango.lib
pause

就OK了。
jinheking 2007-03-21
Sorry
我依然失败了!
player7 2007-03-21
奇怪了,你用的是0.96 的嘛?

确定 在tango/lib目录有存在有 tango.lib 文件??
Global site tag (gtag.js) - Google Analytics