Now I know how to build FLK on Windows

23 views
Skip to first unread message

Hannu Vuolasaho

unread,
Feb 25, 2015, 9:27:53 PM2/25/15
to fltkg...@googlegroups.com
Hello!

I just set up windows 8.1 virtual environment for me and build FLTK succesfully (99.9%) with Cygwin. Sudoku failed with icon.

Not all packages are necessary, most hare expediencies and my laziness to find the one I really need.

I wrote some notes about it.

Below are my notes and I share them someone can also compile FLTK on windows.

Best regards,
Hannu Vuolasaho

Test environment: Fresh install of Win 8.1 64-bit and updates. Programs installed:
Google chrome and cygwin. Packages listed at the end of this file.

In svn lib/README.lib is in gitignore and git checkout of tree where
FLTK is embedded doesn't have lib dir

git add -f lib/README.lib &&git commit "Fix the tree" helps

x86_64 build warns a lot of int <-> pointer size Let's not go there. 32 bits please.

test directory fails with sudokures.o Only error and it comes with
resource system.

Configuring:

CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ \
AR=i686-w64-mingw32-ar CFLAGS='-static-libgcc' \
CXXFLAGS='-static-libstdc++ -static-libgcc' \
LDFLAGS=-static ./configure

Got output:

-------------------------------------------------------------------------
    Directories: prefix=/usr/local
                 bindir=${exec_prefix}/bin
                 datadir=${datarootdir}
                 datarootdir=${prefix}/share
                 exec_prefix=${prefix}
                 includedir=${prefix}/include
                 libdir=${exec_prefix}/lib
                 mandir=${datarootdir}/man
                 Graphics: GDI
                 Image Libraries: JPEG=Builtin
                 PNG=Builtin ZLIB=Builtin
                 Large Files: YES
                 OpenGL: YES
                 Threads: YES
configure: creating ./config.status
config.status: creating makeinclude
config.status: creating fltk.list
config.status: creating fltk-config
config.status: creating fltk.spec
config.status: creating FL/Makefile
config.status: creating config.h
config.status: config.h is unchanged
make -k

And ldd mandelbrot.exe is only against windows.

        ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x7ffb62f90000)
        ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x77df0000)
        wow64.dll => /cygdrive/c/Windows/SYSTEM32/wow64.dll (0x77d30000)
        wow64win.dll => /cygdrive/c/Windows/system32/wow64win.dll (0x77d80000)
        wow64cpu.dll => /cygdrive/c/Windows/system32/wow64cpu.dll (0x77d20000)
        ??? => ??? (0x6f0000)
        KERNEL32.DLL => /cygdrive/c/Windows/SYSTEM32/KERNEL32.DLL (0x779a0000)
        ??? => ??? (0x6f0000)
        ??? => ??? (0x6f0000)
        KERNEL32.DLL => /cygdrive/c/Windows/SYSTEM32/KERNEL32.DLL (0x779a0000)
        KERNELBASE.dll => /cygdrive/c/Windows/SYSTEM32/KERNELBASE.dll (0x775d0000)
        ADVAPI32.dll => /cygdrive/c/Windows/SYSTEM32/ADVAPI32.dll (0x75dd0000)
        COMCTL32.DLL => /cygdrive/c/Windows/WinSxS/x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.9600.16384_none_7c55c866aa0c3ff0/COMCTL32.DLL (0x75fa0000)
       COMDLG32.DLL => /cygdrive/c/Windows/SYSTEM32/COMDLG32.DLL (0x77900000)
        GDI32.dll => /cygdrive/c/Windows/SYSTEM32/GDI32.dll (0x75cc0000)
        msvcrt.dll => /cygdrive/c/Windows/SYSTEM32/msvcrt.dll (0x777b0000)
        ole32.dll => /cygdrive/c/Windows/SYSTEM32/ole32.dll (0x75b80000)
        SHELL32.DLL => /cygdrive/c/Windows/SYSTEM32/SHELL32.DLL (0x760c0000)
        USER32.dll => /cygdrive/c/Windows/SYSTEM32/USER32.dll (0x75840000)
        sechost.dll => /cygdrive/c/Windows/SYSTEM32/sechost.dll (0x77cd0000)
        RPCRT4.dll => /cygdrive/c/Windows/SYSTEM32/RPCRT4.dll (0x776f0000)
        SHLWAPI.dll => /cygdrive/c/Windows/SYSTEM32/SHLWAPI.dll (0x75990000)
        combase.dll => /cygdrive/c/Windows/SYSTEM32/combase.dll (0x77480000)
        SspiCli.dll => /cygdrive/c/Windows/SYSTEM32/SspiCli.dll (0x75820000)
        CRYPTBASE.dll => /cygdrive/c/Windows/SYSTEM32/CRYPTBASE.dll (0x75810000)
        SHCORE.DLL => /cygdrive/c/Windows/SYSTEM32/SHCORE.DLL (0x75710000)
        bcryptPrimitives.dll => /cygdrive/c/Windows/SYSTEM32/bcryptPrimitives.dll (0x757b0000)
        IMM32.DLL => /cygdrive/c/Windows/system32/IMM32.DLL (0x76030000)
        MSCTF.dll => /cygdrive/c/Windows/SYSTEM32/MSCTF.dll (0x75e50000)
        kernel.appcore.dll => /cygdrive/c/Windows/SYSTEM32/kernel.appcore.dll (0x755c0000)
        uxtheme.dll => /cygdrive/c/Windows/system32/uxtheme.dll (0x75210000)
        dwmapi.dll => /cygdrive/c/Windows/system32/dwmapi.dll (0x74f70000)
        CRYPTSP.dll => /cygdrive/c/Windows/SYSTEM32/CRYPTSP.dll (0x729a0000)
        rsaenh.dll => /cygdrive/c/Windows/system32/rsaenh.dll (0x72970000)
        bcrypt.dll => /cygdrive/c/Windows/SYSTEM32/bcrypt.dll (0x72950000)

Cygwin Package Information (cygcheck -c)

Package                                 Version                Status
_autorebase                             001002-1               OK
_update-info-dir                        00385-1                OK
alternatives                            1.3.30c-10             OK
autoconf                                13-1                   OK
autoconf2.1                             2.13-12                OK
autoconf2.5                             2.69-2                 OK
automake                                9-1                    OK
automake1.10                            1.10.3-2               OK
automake1.11                            1.11.6-2               OK
automake1.12                            1.12.6-2               OK
automake1.13                            1.13.4-1               OK
automake1.14                            1.14.1-1               OK
automake1.4                             1.4p6-11               OK
automake1.5                             1.5-11                 OK
automake1.6                             1.6.3-12               OK
automake1.7                             1.7.9-11               OK
automake1.8                             1.8.5-11               OK
automake1.9                             1.9.6-11               OK
base-cygwin                             3.6-1                  OK
base-files                              4.2-3                  OK
bash                                    4.3.33-1               OK
bash-completion                         1.3-1                  OK
binutils                                2.25-1                 OK
bzip2                                   1.0.6-2                OK
ca-certificates                         2.2-1                  OK
clang                                   3.4.2-5                OK
coreutils                               8.23-4                 OK
crypt                                   1.1-1                  OK
csih                                    0.9.8-6                OK
cygrunsrv                               1.62-1                 OK
cygutils                                1.4.14-1               OK
cygwin                                  1.7.34-6               OK
cygwin-devel                            1.7.34-6               OK
dash                                    0.5.8-3                OK
desktop-file-utils                      0.21-1                 OK
diffutils                               3.3-2                  OK
editrights                              1.03-1                 OK
emacs                                   24.4-3                 OK
file                                    5.22-1                 OK
findutils                               4.5.12-1               OK
gamin                                   0.1.10-15              OK
gawk                                    4.1.1-1                OK
gcc-core                                4.9.2-2                OK
gcc-g++                                 4.9.2-2                OK
getent                                  2.18.90-4              OK
git                                     2.1.4-1                OK
git-completion                          2.1.4-1                OK
grep                                    2.21-2                 OK
groff                                   1.22.2-2               OK
gsettings-desktop-schemas               3.14.1-1               OK
gzip                                    1.6-1                  OK
hostname                                3.13-1                 OK
info                                    5.2-3                  OK
ipc-utils                               1.0-2                  OK
less                                    458-2                  OK
libargp                                 20110921-2             OK
libatomic1                              4.9.2-2                OK
libattr1                                2.4.46-1               OK
libblkid1                               2.25.2-1               OK
libbz2_1                                1.0.6-2                OK
libclang                                3.4.2-5                OK
libcloog-isl4                           0.18.0-2               OK
libcom_err2                             1.42.10-1              OK
libcrypt0                               1.1-1                  OK
libcurl4                                7.40.0-1               OK
libdb5.3                                5.3.21-1               OK
libdbus1_3                              1.8.16-1               OK
libedit0                                20130712-1             OK
libexpat1                               2.1.0-3                OK
libfam0                                 0.1.10-15              OK
libffi6                                 3.2.1-1                OK
libgcc1                                 4.9.2-2                OK
libgdbm4                                1.11-1                 OK
libglib2.0_0                            2.42.1-2               OK
libgmp10                                6.0.0a-2               OK
libgnutls28                             3.2.21-1               OK
libgomp1                                4.9.2-2                OK
libgssapi_krb5_2                        1.13.1-1               OK
libguile17                              1.8.8-1                OK
libhogweed2                             2.7-2                  OK
libiconv                                1.14-3                 OK
libiconv2                               1.14-3                 OK
libidn11                                1.29-1                 OK
libintl8                                0.19.4-1               OK
libisl10                                0.11.1-2               OK
libk5crypto3                            1.13.1-1               OK
libkrb5_3                               1.13.1-1               OK
libkrb5support0                         1.13.1-1               OK
libllvm3.4                              3.4.2-5                OK
libltdl7                                2.4.6-1                OK
liblzma5                                5.0.8-1                OK
libmpc3                                 1.0.2-2                OK
libmpfr4                                3.1.2-2                OK
libncursesw10                           5.9-20141227-1         OK
libnettle4                              2.7-2                  OK
libopenldap2_4_2                        2.4.40-2               OK
libopenssl100                           1.0.1k-1               OK
libp11-kit0                             0.20.7-1               OK
libpcre1                                8.36-1                 OK
libpipeline1                            1.3.0-3                OK
libpopt0                                1.16-1                 OK
libquadmath0                            4.9.2-2                OK
libreadline7                            6.3.8-1                OK
libsasl2_3                              2.1.26-9               OK
libsmartcols1                           2.25.2-1               OK
libsqlite3_0                            3.8.8.2-2              OK
libssh2_1                               1.4.3-1                OK
libssp0                                 4.9.2-2                OK
libstdc++6                              4.9.2-2                OK
libtasn1_6                              4.2-1                  OK
libuuid-devel                           2.25.2-1               OK
libuuid1                                2.25.2-1               OK
libxml2                                 2.9.2-1                OK
login                                   1.11-1                 OK
lynx                                    2.8.7-2                OK
m4                                      1.4.17-1               OK
make                                    4.1-1                  OK
makedepend                              1.0.5-1                OK
man-db                                  2.6.7-2                OK
mingw-runtime                           4.0-1                  OK
mingw-w32api                            4.0-1                  OK
mingw64-i686-binutils                   2.24.0.3.85cf705-1     OK
mingw64-i686-gcc-core                   4.8.3-1                OK
mingw64-i686-gcc-g++                    4.8.3-1                OK
mingw64-i686-headers                    3.3.0-1                OK
mingw64-i686-runtime                    3.3.0-1                OK
mingw64-i686-windows-default-manifest   6.4-1                  OK
mingw64-i686-winpthreads                3.3.0-1                OK
mingw64-x86_64-binutils                 2.24.0.3.85cf705-1     OK
mingw64-x86_64-gcc-core                 4.8.3-1                OK
mingw64-x86_64-gcc-g++                  4.8.3-1                OK
mingw64-x86_64-headers                  3.2.0-1                OK
mingw64-x86_64-runtime                  3.2.0-1                OK
mingw64-x86_64-windows-default-manifest 6.4-1                  OK
mingw64-x86_64-winpthreads              3.2.0-1                OK
mintty                                  1.2-beta1-1            OK
openssh                                 6.7p1-2                OK
openssl                                 1.0.1k-1               OK
p11-kit                                 0.20.7-1               OK
p11-kit-trust                           0.20.7-1               OK
perl                                    5.14.4-1               OK
perl-Error                              0.17019-1              OK
perl_autorebase                         5.14.4-3               OK
perl_base                               5.14.4-1               OK
pkg-config                              0.28-1                 OK
popt                                    1.16-1                 OK
python                                  2.7.8-1                OK
rebase                                  4.4.1-1                OK
rsync                                   3.1.1-1                OK
run                                     1.3.3-1                OK
sed                                     4.2.2-3                OK
shared-mime-info                        1.3-3                  OK
tar                                     1.27.1-1               OK
terminfo                                5.9-20141227-1         OK
terminfo-extra                          5.9-20141227-1         OK
texinfo                                 5.2-3                  OK
tzcode                                  2014j-1                OK
util-linux                              2.25.2-1               OK
vim-minimal                             7.4.629-1              OK
w32api-headers                          3.3.0-2                OK
w32api-runtime                          3.3.0-1                OK
which                                   2.20-2                 OK
windows-default-manifest                6.4-1                  OK
xz                                      5.0.8-1                OK
zlib0                                   1.2.8-3                OK

Reply all
Reply to author
Forward
0 new messages