I have an application that consists of a single DLL and the EXE.
I have the sources required for the DLL in one directory and I have used winemaker --dll to create the infrastructure for building the winelib dll. It worked. So, now, I have "nix_ctls.dll.so". My problem is that I cannot, for some reason use nix_ctls.dll.so as I would, say comctl32.dll.so . What I mean is this:
The sources for the EXE are in another directory. Both are subdirectories of the "project" directory.
The name of the EXE is supposed to be "iconmake.exe", if it were compiled under Windoze. So, naturally, my Makefile contains a setting called "iconmake_DLLS". To this setting I have appended "nix_ctls.dll" and to the "iconmake_DLL_PATH" I have appended "-L../nix_ctls". This makes everything work, except the spec thing. This is what that one says:
gcc -c -g -O2 -fPIC -D_REENTRANT -DWINELIB -I../common -I. -I/usr/wine/include/wine -o iconmake.spec.o iconmake.spec.c gcc -shared -Wl,-Bsymbolic -o iconmake.so dlg_box.o filedlgs.o mdi_icon.o ../common/helper.o ../common/debugmsg.o ../common/instance.o ../common/dynarray.o mdichild.o toolbars.o iconmake.spec.o -L/usr/wine/lib -lwine -lwine_unicode -lwine_uuid -lm dlg_box.o: In function `PickIconDlg': /home/nix/source/mdi_icon/iconmake/dlg_box.c:396: undefined reference to `InitPicPick' mdichild.o: In function `ChildWndProc': /home/nix/source/mdi_icon/iconmake/mdichild.c:86: undefined reference to `InitEditorWindow' toolbars.o: In function `CreateTheRebar': /home/nix/source/mdi_icon/iconmake/toolbars.c:23: undefined reference to `InitColourControl'
Where do I specify "nix_ctls.dll" and the corresponding path "../nix_ctls" in the Makefile so that it will be added to this command as it is added to the command before it, which is:
LD_LIBRARY_PATH="/usr/wine/lib:/usr/wine/lib:$LD_LIBRARY_PATH:../nix_ctls" /usr/wine/bin/winebuild -fPIC -o iconmake.spec.c -res mdi_icon.res -L/usr/wine/lib -L../nix_ctls -L/usr/wine/lib/wine -ladvapi32.dll -lcomdlg32.dll -lgdi32.dll -lkernel32.dll -lodbc32.dll -lole32.dll -loleaut32.dll -lshell32.dll -luser32.dll -lcomctl32.dll -lnix_ctls.dll -lwinspool.drv -m gui -exe iconmake dlg_box.o filedlgs.o mdi_icon.o ../common/helper.o ../common/debugmsg.o ../common/instance.o ../common/dynarray.o mdichild.o toolbars.o
This command works fine, because the library paths and -l settings are all there.
Thanks for your help.