gpt4 book ai didi

c++ - 如何从源代码编译使用头文件的应用程序?

转载 作者:行者123 更新时间:2023-11-28 08:00:58 24 4
gpt4 key购买 nike

这个问题可能已经被回答了无数次 - 我读过一些类似的问题,但我还是不明白。

我有 libaiml 项目的源代码——一个用于 aiml 的 C++ 解释器,一个聊天室程序的规范。

在示例程序的源代码中,它包含对头文件的#include 调用:

#include "../src/aiml.h"

头文件是有的,我编译链接程序,提示找不到头文件。

各种回答都说头文件需要编译成静态库(一个.a文件),但是如果.h文件没有编译成二进制库,程序怎么引用呢?

我还尝试用 G++ 和 ar 将 srcs 编译成一个库,但它包含很多错误。我做错了什么吗?

最佳答案

Am I doing anything wrong?

是的:您完全错误地陈述了实际发生在您身上的事情。你说“它说找不到头文件”,“我编译链接了程序”。

但真正发生的是您已经编译并且未能链接程序,并且这些错误与头文件无关;相反,您在链接时会丢失符号。

要解决您的问题,您必须libaiml 链接到您的可执行文件(这个库应该在您构建../src/ 目录。像这样的东西应该可以工作:

g++ -I../src -o program program.cc -L../src -laiml

关于c++ - 如何从源代码编译使用头文件的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11482510/

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