2016-11-10 8 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]ample.com"} 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_unix необходим для smtp.

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

О, я не знал, что смогу сделать что-то подобное. Где я должен найти структуру пакета? – RichouHunter

+1

Я не знаю, есть ли для этого инструмент. Я сделал то, что использовал utop и пробовал ваш код. затем я попытался добавить новые библиотеки (используя директиву #require и список доступных libs, заданных в нижней части utop, ища библиотеки, начиная с s). Так что не ракетостроение, но это помогает;) –

 Смежные вопросы

  • Нет связанных вопросов^_^