问题描述
我有一个大型的python项目,该项目需要一个捆绑了C / C ++的小型应用程序。该项目通常针对Linux环境,实际上不是面向消费者的项目(而是工厂环境中的开发工具)。
在我的setup.py
文件中,我具有命令行入口点a-la:
entry_points={'console_scripts': ['some_controller = controller.cli:run','some_controller_fat = controller.cli:fat']
我可以使用这样的扩展对象很容易地构建C ++子项目:
extensions.append( Extension("helper",language="c++",sources=["src/core/main.cpp","src/core/foo.cpp"],library_dirs = ['/usr/local/lib'],libraries=["zmq","pthread","systemd"]))
以上内容正确构建了我的扩展名,但是在链接步骤中,它发出了-shared
伪指令,使其成为so
。所以第一个问题是:可以禁止使用-shared
指令吗?
我还希望在调用helper
时将some_controller
二进制文件构建并安装到与some_controller_fat
和python setup.py build/install
相同的目录中。
我完全认识到,使用makefile实现这是一件微不足道的事情。我只是想弄清楚是否有可能做到这一点而无需拆分项目,并使用与整个项目相同的安装过程。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)