我正在为我公司的一个(其他人)现有项目添加扩展。现在我想导入一个像boost这样的现有库。我正在使用netbeans来调试现有项目。现在,为了将库导入netbeans,通常需要两个步骤:
- 包括目录
- 链接器->添加库
但是,当我右键单击我现有的项目时,链接器->添加库的选项不会出现。(尽管我已经包含了目录,因为有这个选项)。
有人能指导我如何通过链接器将库添加到我现有的项目中吗?我的项目在C++中
假设您使用的是unix/linux变体:
头目录和库链接是两种不同的东西。Include目录将具有所需的头,但在编译之后,可能还需要驻留在库中的实际编译代码(*.a、*.so等)。
例如,如果您使用pthread,除了需要包含的头之外,还需要libpthread。
链接时,您需要提供与pthread链接的标志,即:-lpthread您可以在unix系统上使用find或locate进行搜索以查找库。就我而言,它在
/usr/lib/lipthread.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