首页 >后端开发 >C++ >尽管路径规范正确,为什么 CMake 的'link_directories”无法找到我的库?

尽管路径规范正确,为什么 CMake 的'link_directories”无法找到我的库?

Linda Hamilton
Linda Hamilton原创
2024-12-10 20:31:15402浏览

Why Does CMake's `link_directories` Fail to Find My Library Despite Correct Path Specification?

CMake:Link_Directories 无法找到库

问题:

在基于 CMake 的环境中具有 src 和 build 目录的项目,不能使用名为“protobuf”的库尽管使用了 link_directories 命令还是发现了。

详细信息:

  • src/CMakeLists.txt 包含一个 CMake 配置,其中 link_directories 指向“/usr/lib/x86_64” -linux-gnu,”的位置libprotobuf.so。
  • CMakeLists.txt 还包含 add_executable 和 target_link_libraries 命令。
  • main.cpp 引用 libprotobuf.so 中的函数,但在链接时遇到未定义的引用错误。
  • 在 target_link_libraries 命令中使用 libprotobuf.so 的完整路径

解决方案:

确保 link_directories 命令不仅出现在 CMakeLists.txt 文件中的 target_link_libraries 之前,还出现在 add_executable 之前。

以上是尽管路径规范正确,为什么 CMake 的'link_directories”无法找到我的库?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn