链接自身依赖于静态库的静态库时未定义的引用
undefined references when linking own static library that itself depends on static libraries
我写了一个静态库(在Windows 7 for x64中使用TDM gcc 4.8.1编译),它依赖于其他静态库。Boost库(区域设置和系统)是特定的。由于我正在构建一个静态库,我认为我所依赖的库会自动包含在我的final.a中,尤其是因为我在代码中使用了它们。
但是,当我试图构建一个静态链接到前面提到的库的可执行文件时,仍然存在对一些boost部分的未定义引用,这些部分肯定在我的库中使用。
有办法解决这个问题吗?
任何帮助都将不胜感激。谢谢
编辑:我还不够小心,因为我现在知道问题的原因了。我使用的是代码块,构建归档所需的所有参数都在项目属性中声明。但是在构建我的库时,代码块甚至不调用链接器。相反,它调用ar.exe并传递我项目的所有对象文件。这样,就不会包含任何外部库。所以,我也一直在寻找,告诉代码块以正确的方式构建库。。
您的可执行文件需要链接到所有相关库,包括它直接依赖的库,以及它间接依赖的库。当您链接静态库时,通常不会在其中嵌入其他静态库。
相关文章:
- Qt 静态库未定义引用
- CMake 不链接 C 和 C++ 静态库(未定义对函数的引用)
- ctypes,添加静态库时未定义的符号
- 在Qt5上去静态库:架构的未定义符号x86_64:
- 对静态常量积分类型的未定义引用
- 对类的静态成员的未定义引用
- 为什么 mfc 中静态文本工具中的变量未定义
- 我正在尝试在我的类中创建一个静态成员,但编译器警告我它是未定义的
- 我可以在将项目编译为静态库(未定义的引用)时在代码中使用 QImage 吗?
- 编译 Rust 静态库并在 C++ 中使用它:未定义的引用
- 链接到 Boost 1.63 静态库时未定义的引用
- 使用静态变量未解析的外部符号/未定义的引用时出错
- boost::system::generic_category 静态链接后未定义
- C++类方法包含对静态变量的未定义引用
- MSYS2静态QT未定义的参考问题
- 带有静态库的Android NDK:链接器始终抛出“未定义的参考”
- 对另一个静态库中静态库方法的未定义引用
- 在链接链接静态(GSOAP)库的共享库时,为什么会得到一个未定义的符号
- 使用静态常量初始化unique_ptr时出现未定义的引用错误
- 正在访问超出范围的静态未定义行为