Как создать новую демо в автомобильной?
Я пытаюсь отделить некоторый код от drake/automotive/automotive_demo.cc
, В качестве первого шага я пытаюсь скопировать automotive_demo.cc
а также automotive_demo.py
в файлы с разными именами (test.cc
а также test.py
) а потом работает bazel run automotive:test -- --num_simple_cars=1
, Я модифицировал automotive/BUILD.bazel
а также test.py
принять во внимание новые зависимости.
Проблема в том, что после того, как я bazel run
, окно симулятора открывается, но автомобиль не отображается. В конце концов он просто падает со следующими ошибками:
[lcm-spy] ClassDiscoverer: java.lang.NoClassDefFoundError: apple/laf/AquaPopupMenuUI
[lcm-spy] jar: ../com_jidesoft_jide_oss/jide-oss-2.9.7.jar
[lcm-spy] class: com/jidesoft/plaf/aqua/AquaJidePopupMenuUI.class
...
[drake_visualizer] Qt WebEngine seems to be initialized from a plugin. Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.
...
[lcm-spy] LCM: Disabling IPV6 support
[lcm-spy] LCM: TTL set to zero, traffic will not leave localhost.
[lcm-spy] java.net.SocketException: Can't assign requested address
Вот (неразрешенная) проблема Github, которая указывает на то, что test
это "пользовательский плагин" Но если automotive_demo
может работать, конечно, есть способ воспроизвести это поведение для test
? Я тоже пробовал grep
ping для QGuiApplication и обнаружил только серию двоичных файлов, поэтому я не знал, как следовать предложению об ошибке.
1 ответ
При попытке выполнить ваши действия на Mac я, к сожалению, не могу воспроизвести ваши конкретные ошибки. Я не думаю, что имея test
как целевое имя должно вызывать проблемы (по крайней мере, у меня не было проблем).
Не могли бы вы убедиться, что:
- Ты можешь бежать
bazel run automotive:demo -- --num_simple_car=1
? - После переименования
automotive_demo.*
вtest.*
, в вашемBAZEL.build
,test.py
следующие файлы правильно отображаются:demo
->test
а такжеautomotive_demo
->test_cc
(или какое-то уникальное имя, которое вы выберете)?