如何在编译时在路径中包含库?

时间:2011-09-17 21:30:26

标签: compilation go

我正在阅读关于go的this帖子,并且正在尝试编译找到的源代码here

我下载了源代码,使用make编译了第一个文件,我可以看到生成了对象:

$pwd
/Users/oscarryz/code/go/rsc/rosetta/graph

$ls -ltR
total 136
-rw-r--r--  1 oscarryz  staff  61295 Sep 17 16:20 _go_.6
drwxr-xr-x  3 oscarryz  staff    102 Sep 17 16:20 _obj
-rw-r--r--  1 oscarryz  staff    126 Sep 17 16:17 Makefile
-rw-r--r--  1 oscarryz  staff   2791 Sep 17 16:17 graph.go

./_obj:
total 0
drwxr-xr-x  3 oscarryz  staff  102 Sep 17 16:20 rsc.googlecode.com

./_obj/rsc.googlecode.com:
total 0
drwxr-xr-x  3 oscarryz  staff  102 Sep 17 16:20 hg

./_obj/rsc.googlecode.com/hg:
total 0
drwxr-xr-x  3 oscarryz  staff  102 Sep 17 16:20 rosetta

./_obj/rsc.googlecode.com/hg/rosetta:
total 136
-rw-r--r--  1 oscarryz  staff  68486 Sep 17 16:20 graph.a

我的问题不在于,如何从迷宫目录中引用该编译代码:

/Users/oscarryz/code/go/rsc/rosetta/maze/maze.go

谁的进口声明是:

import (
    "bytes"
    "fmt"
    "rand"
    "time"

    "rsc.googlecode.com/hg/rosetta/graph"
)

现在无法使用错误消息进行编译:

6g  -o _go_.6 maze.go 
maze.go:20: can't find import: rsc.googlecode.com/hg/rosetta/graph
make: *** [_go_.6] Error 1

1 个答案:

答案 0 :(得分:3)

好的,我发现它,并不那么难。

  

6g标志:-I DIR在DIR中搜索包

我必须像这样指定-I选项:

6g -I ../graph/_obj/ -o _go_.6 maze.go