From c6ac32c1150f4476d34b64d0b9e9c1c2cca24205 Mon Sep 17 00:00:00 2001 From: Xuwznln <18435084+Xuwznln@users.noreply.github.com> Date: Fri, 25 Jul 2025 22:17:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Edll=E9=A2=84=E8=BD=BD?= =?UTF-8?q?=EF=BC=8C=E4=BF=9D=E8=AF=81=E9=83=A8=E5=88=86=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=8F=AF=E6=AD=A3=E5=B8=B8=E4=BD=BF=E7=94=A8unilabos=5Fmsgs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- unilabos/registry/registry.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/unilabos/registry/registry.py b/unilabos/registry/registry.py index 8fb167b..f4bd430 100644 --- a/unilabos/registry/registry.py +++ b/unilabos/registry/registry.py @@ -22,6 +22,19 @@ DEFAULT_PATHS = [Path(__file__).absolute().parent] @singleton class Registry: def __init__(self, registry_paths=None): + import ctypes + try: + import unilabos_msgs + except ImportError: + logger.error( + "[UniLab Registry] unilabos_msgs模块未找到,请确保已根据官方文档安装unilabos_msgs包。" + ) + sys.exit(1) + try: + ctypes.CDLL(str(Path(unilabos_msgs.__file__).parent / "unilabos_msgs_s__rosidl_typesupport_c.pyd")) + except OSError as e: + pass + self.registry_paths = DEFAULT_PATHS.copy() # 使用copy避免修改默认值 if registry_paths: self.registry_paths.extend(registry_paths)