View previous topic :: View next topic |
Author |
Message |
jikard0
Joined: 05 Feb 2015 Posts: 8
|
Posted: Tue Mar 03, 2015 3:07 pm Post subject: Cross-compile on Ubuntu 14.04 |
|
|
Hello,
How can i cross compile libnatpmp for windows(libnatpmp.dll) under Ubuntu 14.04.
I have installed mingw32 and mingw-w64 packages.
Actually i made unsuccessful attempt:)
I made minor changes in Makefile
OS = $(shell uname -s) -> OS = WINDOWS
but i got error:
# make all
i686-w64-mingw32-gcc -shared -Wl,-soname, -o natpmp.dll natpmp.o getgateway.o -lws2_32 -lIphlpapi -Wl,--no-undefined -Wl,--enable-runtime-pseudo-reloc --Wl,kill-at
i686-w64-mingw32-gcc: error: unrecognized command line option ‘--Wl,kill-at’
make: *** [natpmp.dll] Error 1
After that i remove --Wl,kill-at and change flag -lIphlpapi to -liphlpapi
EXTRA_LD = -lws2_32 -liphlpapi -Wl,--no-undefined -Wl,--enable-runtime-pseudo-reloc
but still getting errors from linker
#make all
i686-w64-mingw32-gcc -shared -Wl,-soname, -o natpmp.dll natpmp.o getgateway.o -lws2_32 -liphlpapi -Wl,--no-undefined -Wl,--enable-runtime-pseudo-reloc
natpmp.o:natpmp.c.text+0x199): undefined reference to `natpmp_gettimeofday'
natpmp.o:natpmp.c.text+0x1f7): undefined reference to `natpmp_gettimeofday'
natpmp.o:natpmp.c.text+0x489): undefined reference to `_imp__readnatpmpresponse'
natpmp.o:natpmp.c.text+0x4ad): undefined reference to `natpmp_gettimeofday'
/usr/bin/i686-w64-mingw32-ld: natpmp.o: bad reloc address 0x0 in section `.rdata'
collect2: error: ld returned 1 exit status
make: *** [natpmp.dll] Error 1
Any suggestions?
Thanks |
|
Back to top |
|
|
jikard0
Joined: 05 Feb 2015 Posts: 8
|
Posted: Tue Mar 03, 2015 3:17 pm Post subject: latest source from github |
|
|
I forgot to mentioned that i get latest source from github/master branch
regards |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1592
|
Posted: Tue Mar 03, 2015 10:32 pm Post subject: |
|
|
Code: | --- Makefile 2014-12-13 11:20:11.000000000 +0100
+++ Makefile.mingw32 2015-03-03 23:33:58.000000000 +0100
@@ -4,7 +4,8 @@
# (c) 2007-2013 Thomas Bernard
# http://miniupnp.free.fr/libnatpmp.html
-OS = $(shell uname -s)
+#OS = $(shell uname -s)
+OS = WIN
CC ?= gcc
INSTALL = install -p
ARCH = $(shell uname -m | sed -e s/i.86/i686/)
@@ -46,7 +47,8 @@
SHAREDLIB = natpmp.dll
JNISHAREDLIB = jninatpmp.dll
CC = i686-w64-mingw32-gcc
- EXTRA_LD = -lws2_32 -lIphlpapi -Wl,--no-undefined -Wl,--enable-runtime-pseudo-reloc --Wl,kill-at
+ EXTRA_LD = -lws2_32 -liphlpapi -Wl,--no-undefined -Wl,--enable-runtime-pseudo-reloc
+ LIBOBJS += wingettimeofday.o
else
SHAREDLIB = libnatpmp.so
JNISHAREDLIB = libjninatpmp.so
|
_________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
© 2007 Thomas Bernard, author of MiniUPNP.
|