为什么我不能在/ usr / include中安装boost?

时间:2012-02-19 04:09:26

标签: c++ boost build

我正在尝试将boost安装到include目录中以避免在每个g ++编译器调用中使用-I标志,我使用此命令行安装:./bjam --prefix=/usr/include install--prefix值,它安装在/home/myusername,为什么? 提前谢谢。

2 个答案:

答案 0 :(得分:3)

您需要root权限才能在/usr/include中安装。

实际上,你的系统帮助你做了一件事,不让你这样做。 --prefix选项说明所有内容的位置 - 标题,库,可执行文件,文档等。例如,标题文件将安装在/usr/include/include中,而不是./bjam --prefix=...将进入编译器的搜索路径。

免责声明::这假设./configure --prefix=...的行为与bjam类似。我实际上没有使用bjam。如果--prefix的{​​{1}}选项意味着其他内容,请更正我。

根据您的系统,您可以从存储库安装Boost,而不是从源代码构建它。例如,对于Debian或Ubuntu,像sudo apt-get install libboost这样的东西可能会起作用。

请注意,我说喜欢;似乎Boost包含许多包; apt-cache search boost,或者更好的是,进行Google搜索,了解如何在特定系统上安装Boost。

答案 1 :(得分:0)

尝试运行

sudo ./bjam

执行此操作时,应运行具有相应权限的bjam以安装到/usr/local/include/usr/local/lib,这两者都应位于您的搜索路径中...