Skip to content
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

usd-sketchup does not build on Windows #1

Open
drwave opened this issue Aug 31, 2018 · 15 comments
Open

usd-sketchup does not build on Windows #1

drwave opened this issue Aug 31, 2018 · 15 comments

Comments

@drwave
Copy link
Owner

drwave commented Aug 31, 2018

This is a place-holder for work that clearly needs to get done.

@Eneroth3
Copy link

Hi,

How difficult is it to get these exporters to run on Windows? I have some SketchUp extension experience but not much C++ nor compiling experience.

//Christina

@drwave
Copy link
Owner Author

drwave commented Apr 30, 2019 via email

@drwave
Copy link
Owner Author

drwave commented Apr 30, 2019

To give more details: the design of this plugin was inspired by the SDK sample code "skp_to_xml" from SketchUp that they have on both Mac and Windows. There is a small amount of platform specific UI code, basically the checkboxes and text entry fields for the options. This is the code here:

https://github.com/drwave/usd-sketchup/tree/master/usd-sketchup/USD_SketchUp_Mac

So I need someone with Windows knowledge to write the equivalent code and wire the results in there to call into the shared code. I would expect it's a day's work, tops, for an experienced Windows dev that is comfortable in C++, and it might take a few days for someone familiar with the platform but not this kind of work.

I don't have a Windows box, otherwise I would have tried it myself. I spoke several times to the SketchUp team, and was hopeful someone there would do this work, but they have not.

@drwave
Copy link
Owner Author

drwave commented Apr 30, 2019

BTW, your SketchUp extensions look amazing!

@Eneroth3
Copy link

Thanks!

I have a little experience with C++ but the most complicated part for me is so far just setting up a compiler with all nitty gritty configurations. Perhaps that is already much done if this project was based on a cross platform example?

@drwave
Copy link
Owner Author

drwave commented Apr 30, 2019 via email

@ghost
Copy link

ghost commented Apr 30, 2019

I'm happy to help disambiguate the interface, In short, the project settings should be the same as any of the other SLAPI examples to match binary compatibility, but it is a DLL called by SU, not an application calling SLAPI.

Best Regards,
-Nick Gully

@Eneroth3
Copy link

Eneroth3 commented May 7, 2019

I've now familiarized myself with the code base and some basic C++ concepts.

First of all I'm a bit confused of what the anatomy is of a finished SketchUp Mac exporter. On Windows this would be a single .dll file and I expected it to be a .so on Mac but it appears more complex. I tried to locate the file that includes the others and use it as an entry point to mentally parse the code, but neither main.cpp or USDExporter.cpp, my two top candidates, appears to include the other. Are these compiled separately? What do these files map to in the finished exporter?

I have a question that is probably more targeted towards Nick. What is "plugin" referring to in this context? In a SketchUp context I'm used to the term being synonymous with a piece of software that uses the SketchUp Ruby API and loads from the plugin folder. On Windows importers and exporters are loaded from their own folders and I've never thought of them as plugins, but are they loaded from the same folder on Mac?

Thanks

@drwave
Copy link
Owner Author

drwave commented May 7, 2019 via email

@drwave
Copy link
Owner Author

drwave commented May 7, 2019 via email

@philipheilmair
Copy link

Hi Michael,

I have been working on porting the exporter to windows, I encountered a issue with the USD SDK.
Specifically the usd zipfile writer method that is found here -> https://github.com/PixarAnimationStudios/USD/blob/master/pxr/usd/lib/usd/zipFile.h

I noticed after struggling to compile the code that the two methods at line 235 and 236 are not exported to the library .dll file which made them unavailable.
They should have the USD_API macro added to them I think?
I made the change locally and got it to build at least.
The plugin worked in sketchup 2018 PRO, I got a working usd file that I tested with usdview.

Now the question I have is; Should I publish my code without the fixed library?

By the way the USDSketchUpUtilities classes worked like a charm, easy to connect to the windows specific UI code.

Regards,
Philip Heilmair

@drwave
Copy link
Owner Author

drwave commented May 29, 2019 via email

@philipheilmair
Copy link

Hey Wave,

I made a PR at USD's repo with the fix, I will clean my code for the windows version and do a PR here as well without the libraries soon.

Regards,
Philip Heilmair

@philipheilmair
Copy link

Hey Michael,

Short update regarding the bug, the USD SDK team has acknowledged the bug and are going to fix it internally :)
Signing the CLA and stuff for a PR was a too big hassle in our company, would have taken to long.

When I get some spare time I will clean my project and send you a PR.

Br,
Philip Heilmair

@drwave
Copy link
Owner Author

drwave commented Jun 17, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants