【发布时间】:2012-11-26 19:07:00
【问题描述】:
在 Ubuntu 中使用 boost 库进行编译时,如何确保 GCC 使用我的 boost 路径?
Ubuntu 中当前的 Boost 版本是 1.46。
我编译的是 1.52 版。
我知道我可以使用“-L/path/to/new/lib”将库添加到搜索路径,但是如何确保 GCC 不会链接到旧库?
问候,托默
【问题讨论】:
在 Ubuntu 中使用 boost 库进行编译时,如何确保 GCC 使用我的 boost 路径?
Ubuntu 中当前的 Boost 版本是 1.46。
我编译的是 1.52 版。
我知道我可以使用“-L/path/to/new/lib”将库添加到搜索路径,但是如何确保 GCC 不会链接到旧库?
问候,托默
【问题讨论】:
-L 选项将库搜索路径添加到搜索路径的开头,因此如果您有自己的版本,它将在默认系统版本之前找到。
【讨论】:
只需将-v 选项传递给gcc 或g++ 即可了解它正在运行的链接命令。您甚至可以添加-Wl,--verbose 以使ld 命令也变得冗长。
您可能还对-rpath 感兴趣,请参阅this answer。
【讨论】:
--sysroot 选项怎么样?
--sysroot 不是仅在配置 GCC 时适用??
-isysroot(包含在 Apple 的 GCC 分支中)。