Я использую следующий код из здесь в setup.py , чтобы создать python оболочку класса c ++:
## ! DO NOT MANUALLY INVOKE THIS setup.py, USE CATKIN INSTEAD
from distutils.core import setup
from catkin_pkg.python_setup import generate_distutils_setup
setup_args = generate_distutils_setup(
packages=['hw_interface_pkg'],
package_dir={'': 'src'},
requires=['std_msgs', 'rospy'],
)
setup(**setup_args)
the ошибка, которую я получаю:
/src/cython/hw_interface.c:482:
/include/remote_hw.h:6:10: fatal error: array: No such file or directory
#include <array>
^~~~~~~
, что является самым первым включением в заголовок. После этого потока , этого потока и этого потока основное решение, кажется, добавляет language="c++"
в аргументы. Однако это не решило проблему для меня, и приведенный выше код также сильно отличается от того, который использовался в этих потоках. (он использует "generate_distutils_setup" вместо "cythonize" или "Extension").
Помимо стандартного c ++ включает в себя, например, #include <array>
, есть и другие, которые я не уверен, что установка найдет их. Может кто-нибудь предложить возможное решение для этого? может ли эта проблема быть вызвана подробностями CMakelists.txt?