在 gentoo 上增强构建 site-config.jam
我在我的项目中使用 boost build,现在我想使用 boost date_time。 我用谷歌搜索并发现它应该(可能)以这种方式使用:
exe test : test.cpp /boost/date_time//date_time ;
但后来我收到此消息:(
error: Unable to find file or target named
error: '/boost/date_time//date_time'
error: referred from project at
error: '.'
当我手动使用 -lboost_date_time
作为 gcc 标志时,它可以正常工作) 我认为该库只需要添加到 site-config.jam 中,所以我尝试添加这个:
project /boost/date_time ;
lib date_time ;
但它没有效果。
我究竟做错了什么?
谢谢
编辑: 我并不是在寻找可行的解决方案。 我需要一些适合每个人的东西,正确安装 boost.build 和 boost 库。
I am using boost build in my project and now i want to use boost date_time. I've googled and found that it should (probably) be used this way:
exe test : test.cpp /boost/date_time//date_time ;
but then i get this message:
error: Unable to find file or target named
error: '/boost/date_time//date_time'
error: referred from project at
error: '.'
(when i use -lboost_date_time
as a gcc flag manually, then it works correctly)
I thought that the library oly has to be added to site-config.jam, so i tried adding this:
project /boost/date_time ;
lib date_time ;
but it has no effect.
What am i doing wrong?
Thaks
Edit:
I'm not looking for a solution that just works. I need something that will work for everyone with correct install of boost.build and boost libraries.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议您查看当前版本的 Boost.Build 中的 contrib/boost.jam 模块。 它允许您几乎自动地为每个库声明必要的目标。
或者最初的尝试并不完全正确。 要让“/site-config//boost_date_time”工作,您需要在 site-config.jam 中包含此内容:
在 Linux 上,如果库文件名为 libboost_date_time.so (如果使用 Boost 构建,则就是这种情况) --布局=系统)。 在 Windows 上,由于自动链接,您实际上不需要任何东西。
I recommend that you take a look at contrib/boost.jam module in the current versions of Boost.Build. It allows you to declare necessary targets for every library almost automatically.
Or original attempt is not exactly right. To have "/site-config//boost_date_time" working you need to have this in site-config.jam:
This will work, on Linux, if the library file is named libboost_date_time.so (which is the case if Boost was built with --layout=system). On Windows, you don't actually need anything of that, thanks to autolinking.
我对 boost 构建没有太多经验,但我相信您在站点配置中的规范已关闭(请参阅 此处 和 此处)。 如果您尝试将预构建的 boost_date_time 放入站点配置中,那么它应该是:
在您的目录中:
I don't have a ton of experience with boost build, but I believe your specification in site config is off (see here and here). If you are trying to put a prebuilt boost_date_time in your site-config, then it should be:
And in your directory: