Comments (7)
My PR has been merged and I ran some tests.
Compiling out-of-tree C++ against libSavitar works fine now and the Python bindings are still ABI compatible.
Closing this issue.
from libsavitar.
Looks like I spoke too soon, this causes a dependency problem with the Python.h include.
Maybe this should be moved to the .cpp sources instead?
from libsavitar.
I think this issue could be solved by changing the types of the getVerticesAsBytes, getFacesAsBytes and getFlatVerticesAsBytes methods in class MeshData, thus removing any leftover Python dependencies from the C++ library.
Are you using these anywhere outside the Python bindings?
If not, I'd like to propose a patch that changes PyObject* to std::vector and adds a suitable MappedType in Types.sip.
from libsavitar.
Cura is the only one that uses it right now.
from libsavitar.
The reason why I brought this up is because I ran into some errors when I making Debian packages of libSavitar. The Python symbols would make the resulting -dev package depend on libpython3.5-dev and require additional compilation arguments. This is not appropriate for a C++ library, I think.
So I moved all Python stuff into the SIP library, and this does in fact work fine. I tested it against Cura 2.5.0.
from libsavitar.
@nallath @onitake In this case, perhaps separating this into C++ library code and python bindings code would be a better solution (of course, more work is required). The current changes in #3 will break Cura unfortunately...
from libsavitar.
@LipuFei They actually won't, since only the C++ parts are changed. The Python3 API is still the same.
I verified this, Cura 2.5 works fine with the changes.
from libsavitar.
Related Issues (13)
- Build failed on macOS 10.12.4 + Homebrew HOT 7
- Face class is not namespaced HOT 1
- not loading cura metadata from 3mf - xml namespace issue HOT 9
- Update to SIP5 HOT 6
- Action Required: Fix WhiteSource Configuration File - .whitesource
- Missing release tags HOT 1
- Missing sipbuild HOT 1
- Conan-build is a PITA for all external packagers HOT 2
- Linux 64 bits issue HOT 2
- Error in update HOT 4
- License of src/Face.h HOT 2
- unable to use system pugixml HOT 21
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libsavitar.