在 gentoo 上增强构建 site-config.jam

发布于 2024-07-24 06:26:09 字数 635 浏览 11 评论 0原文

我在我的项目中使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我不咬妳我踢妳 2024-07-31 06:26:09

我建议您查看当前版本的 Boost.Build 中的 contrib/boost.jam 模块。 它允许您几乎自动地为每个库声明必要的目标。

或者最初的尝试并不完全正确。 要让“/site-config//boost_date_time”工作,您需要在 site-config.jam 中包含此内容:

project site-config ;
searched-lib boost_date_time ;

在 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:

project site-config ;
searched-lib boost_date_time ;

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.

你丑哭了我 2024-07-31 06:26:09

我对 boost 构建没有太多经验,但我相信您在站点配置中的规范已关闭(请参阅 此处此处)。 如果您尝试将预构建的 boost_date_time 放入站点配置中,那么它应该是:

project site-config ;
lib b_date_time : : <name>boost_date_time ;

在您的目录中:

exe test : test.cpp /site-config//b_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:

project site-config ;
lib b_date_time : : <name>boost_date_time ;

And in your directory:

exe test : test.cpp /site-config//b_date_time ;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文