0

我正在为我公司的(其他人)现有项目添加扩展。现在我想导入一个现有的库,比如 boost 。我正在使用 netbeans 来调试现有项目。现在,为了将库导入 netbeans,通常需要执行 2 个步骤:

  1. 包括目录
  2. 链接器-> 添加库。

但是,当我右键单击现有项目时,没有出现 Linker->Add Library 选项。(虽然我已经包含了目录,因为该选项在那里)。

有人可以指导我如何通过链接器将库添加到我现有的项目中吗?我的项目是 C++

4

1 回答 1

1

假设您使用的是 unix/linux 变体:

头文件和库链接的目录是两个不同的东西。包含目录将具有所需的标头,但在编译后,可能还需要驻留在库(*.a、*.so 等)中的实际编译代码。

例如,如果您使用 pthreads,除了需要包含的标头之外,您还需要 libpthread。

链接时,您需要提供与 pthread 链接的标志,即: -lpthread 您可以在 unix 系统上使用 find 或 locate 进行搜索以查找库。就我而言,它在

/usr/lib/libpthread.so

所以,

gcc myfile.c -lpthread -o myfile

将 myfile.c 与 pthread 库链接

然而,

gcc -L/usr/local/lib/

告诉 gcc 在 /usr/local/lib 下查找库(不是标题!)。

告诉 netbeans 标题在哪里是不够的,它可能会给你链接错误。告诉 netbeans 库在哪里可能就足够了,因为它可能使用正确的标志。如果这也失败了,那么您必须同时指定库标志和路径。

或者,您可以使用 cmake、make 等工具来自动化此过程并提供更多控制 IMO。

见链接 1 见链接 2

于 2013-02-20T00:26:09.013 回答