gpt4 book ai didi

C++ 包含库

转载 作者:太空狗 更新时间:2023-10-29 23:31:04 24 4
gpt4 key购买 nike

好的,已经有一段时间了,我遇到了#includes 的问题

所以我在做

#include "someheader.h"

但它给了我

fatal error: someheader.h: No such file or directory

我想您可以说这是一个系统范围的库。我正在运行 arch linux 并且我从 repo 安装了库,我认为 .h 文件在/usr/include 中。

我可以将所有头文件复制到我的代码所在的文件夹中,但那样会很麻烦。

执行此操作的“正确”方法是什么?

编辑:我说 .h 文件在/usr/include 中是不正确的,我的意思是库文件夹在那里因此,Emile Cormier 的回答在一定程度上起到了作用。现在的问题是头文件中有一些包含,从我试图访问的方法看来,这些包含没有发生它给了我错误

undefined reference to Namespace::Class::method()

编辑:好的,所以最后的答案是:

#include <library_name/someheader.h>

并编译

g++ code.cpp -llibrary_name

最佳答案

有时,库的头文件安装在 /usr/include/library_name 中, 所以你必须像这样包括:

#include <library_name/someheader.h>

使用您的文件管理器(或控制台命令)在您的系统上找到头文件,看看您是否应该在头文件名前加上目录名。


undefined reference您得到的错误是链接器错误。您收到此错误是因为您没有将 libsynaptics 与您的程序一起链接,因此链接器无法找到您正在使用的 libsynaptics 函数的“实现”。

如果您使用 GCC 从命令行进行编译,则必须添加 -lsynaptics在 libsynaptics 库中链接的选项。如果您使用的是 IDE,则必须找到可以指定要链接和添加突触的库的位置。如果您使用的是 makefile,则必须修改链接器标志列表,以便它添加 -lsynaptics .

还有 -L <path_to_library>需要添加搜索路径的标志,以便链接器可以找到该库,除非它安装在标准链接器搜索路径之一中。

查看此 tutorial关于使用 GCC 链接到库。

关于C++ 包含库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com