log4cpp:Linux找不到lib文件

3
我在Linux上下载了log4cpp,然后使用以下命令进行安装:
./configure
make
make check
make install

之后,我可以在路径“/usr/local/lib”下找到以下库文件:

liblog4cpp.a
liblog4cpp.la
liblog4cpp.so
liblog4cpp.so.4
liblog4cpp.so.4.0.0

接着我尝试在由gcc11编译的cpp项目中使用log4cpp。

但是我收到了错误信息:

Undefined reference to "log4cpp::Category::shutdown()"

我认为它找不到库文件。因此,我手动添加了liblog4cpp.so

现在我遇到了这个错误:

undefined reference to "pthread_key_create"

我该怎么办?


你在编译项目时使用了哪些命令行参数?你是否正确地链接了库文件? - John
2个回答

1

log4cpp是一个C++库,我建议使用相同的C++编译器进行配置和构建。


我认为我使用的是相同的C++编译器。 - Yves

1
问题已解决。
我遇到这个错误是因为默认情况下 lib pthread 不是一个库。因此,我们必须手动为我们的项目添加它(对于 IDE),或在编译时作为参数添加它(gcc -pthread)。如果一切正常,我们可以在 /usr/lib 中找到它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接