-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does Noether support Windows 10? #252
Comments
Yes, I'm sure it's possible, but I don't know of anyone who has tried this yet. I'm not a Windows developer myself, so I don't know where the issues might arise. I'm happy to add a CI job for Windows 2019/2022 and accept PRs to help make this repo compatible with Windows though. |
Thank you for your response @marip8 . |
By rewriting the widget files of these tools that would crash, and modifying the directly using-invoked parts according to the relevant files of the tools that work, everything is now functioning properly. It's quite strange why this issue occurs, as everything works fine on Ubuntu. |
Interesting errors. I'm not sure I've seen anything like that before. What version of Qt did you compile this with? It looks like some component of Qt might be calling a private method that is different in your version (or the Windows version) vs the Ubuntu version. I have only ever compiled this repo with Qt 5.
Glad to hear you were able to come up with a fix. What did you end up having to change? Was it a change to a |
Summarizing in diff format for clarity: #pragma once
#include <noether_gui/widgets.h>
#include <noether_tpp/core/tool_path_modifier.h>
namespace noether
{
struct SnakeOrganizationModifierWidget : public ToolPathModifierWidget
{
+ Q_OBJECT
public:
- using ToolPathModifierWidget::ToolPathModifierWidget;
+ SnakeOrganizationModifierWidget(QWidget* parent = nullptr);
ToolPathModifier::ConstPtr create() const override;
};
} // namespace noether #include <noether_gui/widgets/tool_path_modifiers/snake_organization_modifier_widget.h>
+ #include <noether_gui/utils.h>
#include <noether_tpp/tool_path_modifiers/snake_organization_modifier.h>
+ #include <QFormLayout>
+ #include <QLabel>
+ #include <QDoubleSpinBox>
namespace noether
{
+ SnakeOrganizationModifier::SnakeOrganizationModifier(QWidget* parent)
+ : QWidget(parent)
+ {
+ auto layout = new QFormLayout(this);
+ }
ToolPathModifier::ConstPtr SnakeOrganizationModifierWidget::create() const
{
return std::make_unique<SnakeOrganizationModifier>();
}
} // namespace noether Some thoughts:
It would be interesting to find the set of minimal changes that fixes the issue you encountered. It doesn't feel like any of these changes should have fixed it, but I guess it's hard to tell |
Yes, it's really strange, the fact that the original program works well under Ubuntu means that the code is not problematic. Those headers were added because they were in the example that was copied, and should have no effect here. In this can effect should be only 2: SnakeOrganizationModifier::SnakeOrganizationModifier(QWidget* parent) |
I want to configure Noether in the ROS 2 Humble environment on Windows 10. Is this possible?
The text was updated successfully, but these errors were encountered: