2013-08-01 4 views
0

여기에 내 메이크OCaml의 역 추적 링크

CC = ocamlc 
LIBES = str.cma 
CFLAGS = -g -c 
.PHONY : clean 
dpll: 
    -rm -f dpll 
    $(CC) $(CFLAGS) dpll.ml 
    $(CC) -o dpll $(LIBES) dpll.cmo 
    make clean 
test: 
    ./dpll input.cnf 
clean: 
    rm -f *.cmi *.cmo 

하고 내 OCaml의 파일 (그것의 DPLL 부분)이 같다.

Backtrace: (Program not linked with -g, cannot print stack backtrace) 

Fatal error: exception Not_found 
(Program not linked with -g, cannot print stack backtrace) 

그래서 어떻게 다음 링크 않습니다
let dpll_SAT = 
    try 
    let cnf = read_cnf Sys.argv.(1) in 
    let state = create_state [] cnf in 
    let (result, ass) = dpll state in 
    match result with 
|false -> print_string "the cnf clauses are not satisfiable\n" 
|_-> print_string "The cnf clauses are satisfiable and a model is as follows:\n"; 
    print_assignment ass;; 
with 
|x -> 
    print_endline ("Backtrace: "^(Printexc.get_backtrace())); 
    raise x) 

나는 다음과 같은 오류가있어?

덕분에 많은 오류 메시지에 의해 제안으로 -g 플래그 어쩌면

답변

7

.

이 줄에 플래그를 추가하십시오. $(CC) -o dpll $(LIBES) dpll.cmo