2016-11-10 6 views
2

corebuildに問題があります。私は次のプログラムを書いています:以下のモジュールには実装がありません

open Core.Std 
open Smtp 

type person = { 
    name: string; 
    address: Smtp_unix.Addr.t 
} 

let send p1 p2 = 
    Smtp_unix.sendmail ~host:"gmail.google.fr" 
    ~name:"gmail.google.com" 
    ~from:(Smtp_unix.Addr.of_string "<hidden>") 
    ~to_:[p1.address] 
    ~body:("Hello "^p2.name) 
    () 

let() = 
    let p1 = {name="alice"; address = Smtp_unix.Addr.of_string "[email protected]"} in 
    let p2 = {name="bob"; address = Smtp_unix.Addr.of_string "[email protected]"} in 
    match send p1 p2 with 
    | `Ok _ -> printf "Mail sent" 
    | `Failure (_,m) -> printf "Error: %s" m 

Merlinによれば正しいです。それをコンパイルするには、私は、次のコマンド

corebuild example.native -package smtp 

を実行すると私は理解していない、次のエラーを取得します。

Error: No implementations provided for the following modules: 
     Smtp_unix referenced from example.cmx 

私は間違っていません。何か案が?

答えて

3

smtpにはsmtp_unixが必要です。

corebuild send.native -package smtp.unix -package smtp 
+0

ああ、私はそのようなことをすることができるか分からなかった。パッケージの構造を知るにはどうすればいいですか? – RichouHunter

+1

これにはツールがあるかどうかわかりません。私がしたのは、私がutopを使ってあなたのコードを試したことです。新しいライブラリを追加しようとしました(#requireディレクティブと、utopの最後にある利用可能なlibsのリストを使って、sで始まるlibsを探していました)。そうロケット科学ではないが、それは助ける;) –

関連する問題