Re: {Spam?} Windows DLLs from Unix with minimum effort

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hey,

On Mon, 29 Oct 2007, Jason Curl wrote:

Hello,

Normally I write software for Posix like operating systems, but to assist somebody I'm writing a Windows DLL that I'd like to later use the source for in my Posix application without having to maintain two code bases.

I'm using
./configure CC="gcc -mno-cygwin" LDFLAGS="-Wl,--kill-at" --target=i586-pc-mingw32 --disable-static
on Cygwin to generate the Windows DLL

For each function I want to export I'm using:
#define LIBAPI __stdcall __declspec(dllexport)
LIBAPI type_t my_func(int param1, int param2);

I'd like to use uncomplicated names so it can be used in VB6.0 for example, which is why I use LDFLAGS. I can probably use a DEF file, but I'm not clear how to implement libtool/automake/autoconf so that the DEF file is used only for Windows, or better yet, automatically generated.

The library compiles under Windows (I haven't tested the binary yet against any module).

I have also another subdirectory that tests the library but I can't link to it using mingw. First it doesn't recognise that the name was simplified >(it looks for _my_func@24 for example instead of _my_func/my_func).

When I remove the LDFLAGS option, I instead get a different error:
/bin/sh ../../libtool --tag=CC   --mode=link gcc -mno-cygwin  -O0 -Wall   -o chartest.exe chartest.o test.o ../src/libmofo.la
mkdir .libs
gcc -mno-cygwin -O0 -Wall -o .libs/chartest.exe chartest.o test.o  ../src/.libs/libmofo.dll.a  -L/usr/local/lib
creating chartest.exe
./.libs/lt-chartest.c: In function `main':
./.libs/lt-chartest.c:113: warning: passing arg 2 of `execv' from incompatible pointer type

To create a dll, with an autotooled library, I add

-no-undefined to the

foo_la_LDFLAGS variable in the Makefile.am (I use MSYS/MinGW).

To create a def file, see for example http://www.mingw.org/docs.shtml

regards

Vincent Torri


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux