使用eclipse的静态库链接问题
static library linkage issue using eclipse
我有两个项目,一个创建静态库,另一个正在使用它。第一个,创建一个名为liboutputdevice.a的文件。当我构建它时,一切都很顺利。
然后我有第二个项目,使用上面的库,包括#include "outputdevice.h"
并调用一个函数:
initdevice("sdfs");
在outputdevice.h上声明,并在上面的静态库中实现。测试项目通过以下方式链接到第一个项目:交叉g++链接器、库和库搜索路径。
当我构建那个项目时(测试者,第二个),第一个得到一个错误,与Undefined reference to 'pthread create'
突然……(尽管我在第一个项目的编译过程中包含了-lpthread)。有人能告诉我出了什么问题吗?
您必须告诉编译器/IDE包含文件的位置。注意,库文件(通常具有.lib扩展名)和包含文件(.h或.hpp)是不一样的。虽然必须将库添加到链接器中(正如您所做的那样),但也必须能够从项目基目录访问包含文件。如果包含的主路径与项目的主路径不相同,则必须告诉编译器是否应该查找其他包含。通常这是通过编译器调用的-I选项来完成的,例如
g++ main.cpp -I path/to/other/includes/dir
您也可以直接在IDE的项目首选项中设置它。
相关文章:
- 使用jsoncpp库时出现链接问题
- Cmake 链接问题:未定义对 Button::mousePressEvent(QGraphicsSceneMouseE
- 如何将GTest与CMake一起使用?遵循谷歌指南时的链接问题
- 未解决的外部链接问题
- 'make check' GLIBC 运行时的链接问题
- 在树莓派上用libtorch构建程序时的链接问题
- 野牛弹性链接问题
- 与 AWS 开发工具包的链接问题
- Qt & Firebase C++ SDK 在 iOS 上的链接问题
- 链接问题 boost::p ython::numpy.
- 与 32 位共享对象的链接问题
- 在单元测试项目中包括 .c 文件,并从多个 cpp 文件访问它而不会出现链接问题
- 安卓链接问题
- LLVM 传递链接问题:未定义的符号
- Cmake Mac OSX库链接问题:在Linux上进行编译,但在Mac上进行了编译
- 用libclang解析源文件 - 链接问题包括文件
- C / C++链接问题与非常简单的设置
- Zbar 在 vs2015 链接问题
- Vulkan + GLFW + Cmake在Linux环境下的链接问题
- TFS构建由于链接问题而失败