Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [paho-dev] Compiling static libs

Hi Rene Christen,


2016-05-03 2:14 GMT-05:00 Rene Christen <contact@xxxxxxxxxxxxxxxx>:
> Hi there,
>
> This lib looks great. I need to use it as a static lib in a 64 bit windows and 64 bit OSX project. Is this possible?

I've been cooking an Autotools build system for Paho MQTT C. It can
help you build a static version of those libraries for OSX:

$ git clone https://github.com/guilhermeferreira/paho.mqtt.c.git
$ cd paho.mqtt.c
$ git checkout -t origin/autotools
$ ./bootstrap
$ ./configure --enable-shared=no --enable-static=yes
--enable-samples=yes --with-ssl=no --enable-peak-warnings=no
$ make

Regarding the Windows build, I guess you can use CMake build system.
However, I'm not sure if the current project's scripts build a static
version.

>
> I have not been able to compile it yet (trying OSX first). I checked out the cpp and c git hub repos. I set the path to the c header files with export PAHO_C_HEADERS=xxx. I was then getting errors that it couldn’t find malloc() so added these lines to the top of client_persistence.cpp:
>
> #include <stdlib.h>
> #include <string.h>
>
> now when I run make I get:
>
> ld: unknown option: -soname
>
> Any advice? I’m not that savvy with makefiles.

Soname is a softlink with name libname.so.major. It is used to bind
applications to a specific library API. For example, libmqtt.so.3.2
and libpaho.so.3.1 have the same interface (major version = 3), but
are incompatible with libmqtt.so.2.

I guess OSX linker has something similar to the soname option. I saw
some people using -Wl,-install_name instead of -Wl,-soname, but I'm
not sure about this. Maybe this article can answer some questions
[https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/CreatingDynamicLibraries.html#//apple_ref/doc/uid/TP40002073-SW1]

Kind regards,

-- 
Guilherme Maciel Ferreira
Mobile Brazil: +55 48 9917 3969
Site: http://guilhermemacielferreira.com/
Skype: guilherme.maciel.ferreira


Back to the top