- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法获取 Jamroot 文件的位置,以便在项目的另一个 Jamfile 中用作常量?
现在,我的 Jamroot 中有这个问题:
constant HOME : [ os.environ HOME ] ;
constant MYPROJECT_ROOT : $(HOME)/src/myproject ;
然后我可能会在另一个 Jamfile 中做类似的事情,以允许我包含带有来自项目根目录的路径的 header 。
<include>$(MYPROJECT_ROOT)
这尤其令人不满意,因为这意味着如果我与其他人共享这个项目,他们要么将其保存在与他们的 $HOME
完全相同的位置,要么他们必须更新 Jamroot。
我对执行此特定包含的聪明方法很感兴趣(而不是我无知的初学者使用常量的方法)。但我也有兴趣按照我提出的方式解决问题——通过将 Jamroot 位置设为常量——因为这在其他方面也可能有用。
最佳答案
使用 path-constant
规则。
path-constant MYPROJECT_ROOT : . ;
然后在子项目中,您可以使用$(MYPROJECT_ROOT)
获取Jamroot 的目录。
请注意,通常人们将此变量命名为 TOP 而不是 MYPROJECT_ROOT,但这只是一种约定。
关于bjam - Jamroot 路径的 boost-build/bjam 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317026/
由于配额限制,我真的需要构建一个项目,我正在处理所有临时文件并在单独的目录中构建产品(在我的情况下 /tmp/somewhere )。 我习惯用 CMake 做这件事,用 bjam 可以吗? ,如果是
我试过阅读文档,但它相当难以理解,所以我希望有人可能有一个简单的答案。我想基于“调试”定义一个新的“变体”,它只是向编译器命令行添加一些宏定义,例如“-DSOMEMACRO”。我想我可以将其作为调试的
我有以下目录结构: APPDIR/ APPDIR/APPHDRS (有*.h) APPDIR/APPLIBSRCS (有 *.cpp 需要制作一个库,比如 libtest.a) APPDIR/APPM
有没有办法获取 Jamroot 文件的位置,以便在项目的另一个 Jamfile 中用作常量? 现在,我的 Jamroot 中有这个问题: constant HOME : [ os.environ HO
有没有办法获取 Jamroot 文件的位置,以便在项目的另一个 Jamfile 中用作常量? 现在,我的 Jamroot 中有这个问题: constant HOME : [ os.environ HO
我正在查看果酱文件,库的名称是如何构造的。 示例:libboost_log-mgw46-mt-1_48.dll 我想忽略最后一部分,如何使用我构造的名称将 -o 参数传递给链接器。 我的版本很少,并且
使用 Visual Studio,可以“忽略特定库”(项目属性 > 配置属性 > 链接器 > 输入 > 忽略特定图书馆)。 我们发现这在一个项目中很有用。现在我们要 build 该项目使用 boost
我在理解如何使用 bjam 指定和调用目标时遇到问题。我的意思是,我想为 bjam 提供要构建的命令行目标(实际上是从 Makefile),这些目标对应于构建过程的不同方面,而不是仅仅运行整个事情。
我有一个相当简单的 Boost.Python 扩展,我正在用 bjam 构建它。问题是事情发生的顺序对我来说没有意义,我不知道如何解决它。 我的项目包含一个带有 Jamroot 的根目录和一个带有 J
我有一个基于 iostreams 的项目并正在执行export CPATH=/apps/bzip2/include/在 bjam link=static 工作之前。有没有办法在 Jamroot 中设置
我正在使用 Boost 的 bjam,我正在尝试从同一个 Jamfile 构建同一个库的两个不同版本。需要使用定义的宏来构建库的一个版本以启用特殊功能。我希望在同一个最终位置实现两个不同的名称库。 举
我正在尝试以一种方式进行编译,使 exec 静态链接到 gcc。我假设运行 bjam link=static runtime-link=static 应该可以解决问题?当我尝试时,出现以下错误: ..
过去,b2/bjam 会构建这样命名的库: libboost_wserialization-gcc48-mt-d-1_60.so (note -gcc48-) 我刚刚从 git 中克隆了 boost,
我正在尝试使用 bjam 构建 boost.lib,但无论我做什么,我都无法让它识别我的 BOOST_LOG_NO_COMPILER_TLS 标志。我正在这样构建: bjam address-mode
我需要在托管 C++ 中编译一个库并查看 msvc.jam,我找不到任何可以将/clr 开关添加到我的编译标志的功能。 我该如何添加这样的功能?如果可能,我想避免修改 msvc.jam。 最佳答案 你
在 ubuntu 上使用 bjam,我正在构建一个 c++ 共享库并尝试在可执行文件中使用它。我必须构建为共享,因为它不会链接为静态(出现许多 undefined reference )。没关系。 两
我正在尝试使用与 1.42 版 Boost 捆绑在一起的最新版 bjam 来构建 1.35 版的 Boost。这会对构建结果产生不利影响吗?这甚至可能吗? 我尝试这样做的原因是因为最新版本的 BJam
我从源代码构建了 boost,因为我需要最新版本来构建 pyopencv。一切顺利。 但是,bjam 现在找不到 boost 库或 include,因为现在它们不再在/usr/lib 中,现在它们在/
我正在使用 Jamroot/boost-bjam 为 C++ 代码构建 python 绑定(bind): alias boost_dependencies : /boost/python//boo
我的机器上有两个 boost 目录。一个在/usr/中,一个在/home/user/boost 中。我怎样才能告诉 bjam 在/home/user/boost 中只使用我的本地版本。我已经将 BOO
我是一名优秀的程序员,十分优秀!