techoe / ceres-solver

Automatically exported from code.google.com/p/ceres-solver
Other
0 stars 0 forks source link

Please provide shared library #56

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
ceres-solver doesn't provides shared library, only static library.
It increases the size of binaries which use it.

Please provides shared library.

Original issue reported on code.google.com by vbkaise...@gmail.com on 30 Jun 2012 at 8:51

GoogleCodeExporter commented 9 years ago
Keir, 
Can you look into this please? There are issues with shared libraries on 
windows (heap allocation of objects.) But can we enable shared library 
generation on linux?

Original comment by sameerag...@google.com on 15 Jul 2012 at 11:05

GoogleCodeExporter commented 9 years ago

Original comment by sameerag...@google.com on 17 Jul 2012 at 3:45

GoogleCodeExporter commented 9 years ago
This is fixed on the master branch. Please test and let us know if it fulfills 
your needs.

Original comment by sameerag...@google.com on 17 Jul 2012 at 6:36

GoogleCodeExporter commented 9 years ago
Hi,

Thanks for providing shared library.
However, it has an abnormal name "libceres_shared.so" and it's not installed 
now.

I think the following example code will make better for naming and installing 
it:

SET(serial "1.0.0")
SET(soserial "1")
SET_TARGET_PROPERTIES(ceres_shared PROPERTIES VERSION ${serial} SOVERSION 
${soserial} OUTPUT_NAME ceres)
INSTALL(TARGETS ceres DESTINATION lib)
INSTALL(TARGETS ceres_shared LIBRARY DESTINATION lib)

Original comment by vbkaise...@gmail.com on 18 Jul 2012 at 2:08

GoogleCodeExporter commented 9 years ago
Keir is more informed about the subtleties than I am.
I am handing this issue over to him and he has promised to look into this.

Original comment by sameerag...@google.com on 18 Jul 2012 at 5:30

GoogleCodeExporter commented 9 years ago
Keir just committed a change, which makes the version and the ABI version 
explicit.
Please see if suits your needs. We will make an official 1.3.0 release to 
co-incide with this soon after some more testing.

Original comment by sameerag...@google.com on 18 Jul 2012 at 8:55

GoogleCodeExporter commented 9 years ago
This is done now but there are still issues on Windows. I'm making a new ticket 
for a DLL on Windows.

Original comment by mie...@gmail.com on 19 Jul 2012 at 5:39

GoogleCodeExporter commented 9 years ago

Original comment by mie...@gmail.com on 19 Jul 2012 at 5:40

GoogleCodeExporter commented 9 years ago
Hi,

I checked the version 1.3.0-rc1.
The shared library was built and it has the ABI version. Thanks.

It's named "ceres_shared" now, but I think "_shared" is dispensable.
Why don't you add "OUTPUT_NAME ceres" to SET_TARGET_PROPERTIES

Original comment by vbkaise...@gmail.com on 20 Jul 2012 at 12:30

GoogleCodeExporter commented 9 years ago
on platforms like windows, the static and dynamic library can't have the same 
name. 
this is a conscious decision to name these guys separately.

http://stackoverflow.com/questions/2152077/is-it-possible-to-get-cmake-to-build-
both-a-static-and-shared-version-of-the-sam

also on linux it simplifies the compiler flags.

Original comment by sameerag...@google.com on 22 Jul 2012 at 3:20

GoogleCodeExporter commented 9 years ago
Okay, I'm satisfied of it.
Thanks.

Original comment by vbkaise...@gmail.com on 23 Jul 2012 at 12:36