gpt4 book ai didi

c++ - 为什么我在链接到库时出错,但在构建库时却没有?

转载 作者:太空狗 更新时间:2023-10-29 21:41:36 27 4
gpt4 key购买 nike

我正在为 C++ 库 (ITK) 开发一个外部模块,我正在使用 cmake 和 make 构建它(我在 Ubuntu VM 上)。

假设代码中有错误,比如重新定义了一个方法。在这种情况下,使用 cmake ../src && make && sudo make install 构建库没有错误,但是当我尝试将项目链接到库时出现错误。

为什么错误不会停止库构建?这些场景是否有根本不同导致 make 表现不同?

我对 C++(通常对编译语言)还很陌生——我想构建过程中有一些我不理解的基础知识。我发现很难搜索这个——搜索“c++ library build no error”给我很多关于 c++ library build errors 的话题。

最佳答案

一般来说,库只是编译代码的集合——目标文件。通常,您看到的链接错误只会在您创建可执行文件时被拾取,此时链接器将尝试确保您的可执行文件中使用的所有符号都可以通过您链接的库来解析。

如果符号(函数、常量等)的定义找不到或不明确(即可以在多个地方找到,则链接将失败。

关于c++ - 为什么我在链接到库时出错,但在构建库时却没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28409918/

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