2016-11-25 12 views
0

는 내가이 같은이 프로그램을 컴파일 std.net.curlstd.net.curl 응용 프로그램

import std.net.curl, std.stdio; 

void main() 
{ 
    auto range1 = byLineAsync("www.google.com"); 
    auto range2 = byLineAsync("www.wikipedia.org"); 
    foreach (line; byLineAsync("dlang.org")) 
     writeln(line); 

    foreach (line; range1) writeln(line); 
    foreach (line; range2) writeln(line); 
} 

에서이 프로그램을 컴파일하려고 예외를 발생시킵니다.

$ DMD internet.d -ofinternet

또는

DMD -I는/usr/포함/DMD/포보스 -ll : libcurl.so.4.2.0 internet.d -ofinternet

프로그램은 정상적으로 컴파일되지만 예외가 발생합니다.

[email protected]/concurrency.d(273): Priority message 
---------------- 
??:? _D3std11concurrency10MessageBox160__T3getTDFS3std11concurrency3TidS3std3net4curl21__T11CurlMessageTAyaZ11CurlMessageZbTDFS3std11concurrency3TidS3std3net4curl19__T11CurlMessageTbZ11CurlMessageZbZ3getMFDFS3std11concurrency3TidS3std3net4curl21__T11CurlMessageTAyaZ11CurlMessageZbDFS3std11concurrency3TidS3std3net4curl19__T11CurlMessageTbZ11CurlMessageZbZ3ptyMFKS3std11concurrency36__T4ListTS3std11concurrency7MessageZ4ListZb [0x81d03f4] 
??:? bool std.concurrency.MessageBox.get!(bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(immutable(char)[]).CurlMessage), bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(bool).CurlMessage)).get(bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(immutable(char)[]).CurlMessage), bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(bool).CurlMessage)) [0x81cfeed] 
??:? void std.concurrency.receive!(bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(immutable(char)[]).CurlMessage), bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(bool).CurlMessage)).receive(bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(immutable(char)[]).CurlMessage), bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(bool).CurlMessage)) [0x81cfd08] 
??:? void std.net.curl.AsyncLineInputRange!(char).AsyncLineInputRange.__mixin5.tryEnsureUnits() [0x81ccb87] 
??:? @property bool std.net.curl.AsyncLineInputRange!(char).AsyncLineInputRange.__mixin5.empty() [0x81cc7db] 
??:? _Dmain [0x81b47b8] 
??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0x81d9292] 
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x81d91dc] 
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() [0x81d924e] 
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x81d91dc] 
??:? _d_run_main [0x81d916e] 
??:? main [0x81d3393] 
??:? __libc_start_main [0x129532] 

나는이 아마 당신은 https://issues.dlang.org/에보고해야 버그처럼 보이는 DMD v2.072.0에게

+2

당신은 아마도 dlang-요청 사용을 시도 할 수 있습니다 - https://github.com/ikod/dlang-requests을 – DejanLekic

답변

2

를 사용합니다.

비동기 네트워크 프로그래밍에 대한

, 대부분의 사람들은 그러나, Vibe.d을 사용합니다 : http://vibed.org/