我的开发商店已经组装了一个相当有用的基于 Python 的测试套件,我们想用它来测试一些基于 Linux 的 C++ 代码。我们已经得到了他们与 Boost 一起发布的测试项目来编译(在目录中输入“bjam”并且它可以工作),但是我们的实际项目存在问题。
从源代码(v1.35.0)构建boost库和bjam,当我运行bjam时,我在bin/gcc-4.1.2/debug目录中得到一个.so。我运行 python 和“import”,我得到: ImportError: libboost_python-gcc41-d-1_35.so.1.35.0
: cannot open shared object file: No such file or directory
查看库目录,我有以下内容:
libboost_python-gcc41-mt-1_35.so
libboost_python-gcc41-mt-1_35.so.1.35.0
libboost_python-gcc41-mt.so
显然我需要 -d 而不是 -mt 库,或者指向 -mt 库而不是 -d,但我不知道如何让我的 Jamroot 文件做到这一点。
当我安装 Debian Etch 的库版本时,我得到“/usr/include 中没有 Jamfile” - 并且有一个 debian 错误说他们遗漏了系统级 jamfile。
我更有希望让它从源头工作,所以如果有人有任何解决图书馆问题的建议,我想听听他们的意见。
对答案 1 的回应:感谢您的提示。那么,你知道我将如何让它使用 MT 库吗?这似乎是 bjam 或我正在使用的 Jamfile 的问题,我认为我处于调试模式,即使我找不到任何标志。虽然我知道如何在对 GCC 的调用中包含特定库,但我看不到从 Boost 端配置它的方法。