C ++:如何添加外部库

时间:2010-06-20 08:15:29

标签: c++ gcc sdl

我正在尝试将SVL添加到我的项目中。

没有它我会收到数百个错误(未定义的引用...)。添加-lSVL后,所有错误都消失了,但是gcc说:“找不到-lSVL”。其他一切(SDL,SDL_TTF,SDL_Mixer ......)都可以正常工作。

2 个答案:

答案 0 :(得分:3)

您应该通知gcc安装libsvl.a的路径,例如:

gcc -lsvl -L/my/path/

另外,如果您在Linux下工作(“SVL”与“svl”不同),请注意这种情况。

答案 1 :(得分:1)

添加外部库有两个部分;你需要告诉编译器 [1] 在哪里找到API的描述(即头文件),你需要告诉链接器在哪里找到API的实现(即库文件)。

标头的可能位置列表由包含路径给出,传统编译器使用-I选项将添加。需要添加目录名称;该目录是编译器查找头文件的另一个地方。

库的可能位置列表由链接路径给出。它就像包含路径一样,但添加到-L。请注意,您也可以(至少通常)直接在命令行上提供库的完整路径,但不特别推荐这样做,因为它往往会在可执行文件中嵌入比实际需要的更多信息。

MSVC的语法可识别类似于IIRC。

如果你正在使用IDE,你可能不得不在项目选项中设置这些东西,但只要你记得你需要设置包含和库路径,你就能找到你的通过。

[1] 严格地说,你告诉预处理器,但预处理器的输出实际上总是直接指向编译器。