【发布时间】:2017-03-07 15:41:26
【问题描述】:
我想编译一个使用 Python 嵌入的 C++ 文件。因此我#include 在我的 C++ 源代码中。当使用 g++ 作为编译器时,我会指定以下标志:
g++ -o pybridge pybridge.cc -I/usr/include/python2.7/ -lpython2.7
我现在想使用 Bazel 进行编译,并尝试了以下目标规则:
cc_binary(
name = "pybridge",
srcs = ["pybridge.cc"],
copts = ["-I/usr/include/python2.7/"],
linkopts = ["-lpython2.7"]
)
运行 bazel build 会给出如下错误消息:
pybridge.cc:(.text+0x10): undefined reference to Py_Initialize
【问题讨论】:
-
你能把bazel -s的输出发过来看看命令吗?另外,如果您在没有沙盒的情况下构建 (
--spawn_strategy=standalone) 会发生什么?你知道文件系统上的libpython2.7.so在哪里吗?