我是C ++新手,但使用Boost Python允许使用Python访问C ++函数。
我当时正在使用setup.py来执行此操作,但是在使其针对Python2而不是Python3进行编译时遇到了一些问题,因此改用了正在运行的命令,这样我就可以使用Python3。这样可以正常编译:
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.6/test.o -lboost_python3 -I/home/me/my_dir/omp -o /home/me/my_dir/cpp_equity.cpython-36m-x86_64-linux-gnu.so
但是,当我尝试在Python中导入它时,它失败并出现ImportError。
undefined symbol: _ZN3omp13CombinedRangeC1Ev\n'
CombinedRange
是CombinedRange.h
中定义的类,包含在h中。我的主文件包含的文件。
关于链接,我有什么遗漏吗?