You are here: Home » Topic » HOWTO: Win32 Compilation

HOWTO: Win32 Compilation

This topic contains 7 replies, has 3 voices, and was last updated by  bedrock 9 years, 7 months ago.

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #465

    Charly86
    Participant

    Hi Ron,

    I missed something in source code. Could you explain us how do you do to compile win32 target. Do you compile under Linux or directly on Windows ?

    If so what compilator are you using. I’ll try do configure compilation files for with Visual Studio 6.

    Thank’s

    #5643

    rpedde
    Participant

    @charly86 wrote:

    Hi Ron,

    I missed something in source code. Could you explain us how do you do to compile win32 target. Do you compile under Linux or directly on Windows ?

    If so what compilator are you using. I’ll try do configure compilation files for with Visual Studio 6.

    Thank’s

    I use VS 2003. Generally, to build the whole thing, including the installation package, this is what you need:

    1. Visual Studio. You can compile the server with express, but not the tray applet (although you could use the existing tray applet with a custom binary of firefly, unless you were actively developing on the tray applet).

    2. Nullsoft’s NSIS (Only for installer)

    3. The nsSCM service control plugin (Only for installer)

    4. Microsoft’s Windows Media Format SDK 9.5

    5. Tortoise SVN (You should be building from svn, plus, some header files and assemblies are version-stamped using a tool from TortoiseSVN).

    6. Headers and link-libraries for:

    – avcodec/avformat/avutil (ffmpeg)
    – gnu_regex
    – libFLAC
    – pthreads for win32
    – sqlite3
    – sqlite2
    – zlib
    – libid3tag
    – libogg/libvorbis

    Seems like the ones I had to compile myself were ffmpeg, flac, ogg, vorbis, and zlib.

    Wherever you put these, the headers and libs need to be added to your VS includes and libs.

    In my setup, I have a directory structure like this:

    c:workingprojectswin32
    c:workingprojectswin32lib
    c:workingprojectswin32include
    c:workingprojectswin32redist
    c:workingprojectswin32dll
    c:workingprojectsmt-daapd

    The redist has the redist msvc dlls that the tray icon requires, while the dll has the dlls that are required for the package (gnu_regex, libflac, etc)

    You are, of course, welcome to arrange stuff however you want, but the build scripts for the package expects a layout like this.

    To make things easier, if you don’t want to build the binaries for all the other assorted stuff, I have a zip of whole win32 directory (as above) that I’m currently using for builds at http://www.fireflymediaserver.org/win32.zip.

    To get the svn stuff, use tortoise to do a checkout of https://svn.sourceforge.net/svnroot/mt-daapd/trunk into a directory called “mt-daapd” that is a peer to the win32 directory as illustrated above.

    There is a vs 2003 .sln file in mt-daapd/win32. You’ll need to run mt-daapd/win32/versionize.bat to create the stamped/versionized assemblies. Then compile and go crazy.

    I’ll take patches that are to current svn, aren’t hugely intrusive (unless hugely functional) and are enableable/disableable through a config value.

    I’m going to sticky this, any comments or questions about building for win32, post ’em here.

    — Ron

    #5644

    Charly86
    Participant

    Well,
    thank you Ron it can’t be more explained. Great job

    ๐Ÿ˜ฎ

    #5645

    FireflyManiac

    The link at http://www.fireflymediaserver.org/win32.zip is no longer valid. Ron, can you please re-upload those files? Thanks a lot!

    #5646

    rpedde
    Participant

    @FireflyManiac wrote:

    The link at http://www.fireflymediaserver.org/win32.zip is no longer valid. Ron, can you please re-upload those files? Thanks a lot!

    Ooops. Changed hosts. Should be good now. I’m going to put up a svn repo for those soonish, along with the files I’m using for packaging debian packages and ipks, so I’ll post here when that’s up.

    — Ron

    #5647

    bedrock
    Participant

    Hi Ron,

    I’ve finally got my backside in gear and setup SVN, and done a checkout, i’ve used your win32.zip for depenencies so far, but i am having problems building the code from SVN, specificaly around sqlite stuff

    mt-daapsrcdb-sql-sqlite3.c(99) : warning C4013: 'db_sqlite3_set_error' undefined; assuming extern returning int
    mt-daapsrcdb-sql-sqlite3.c(117) : error C2371: 'db_sqlite3_set_error' : redefinition; different basic types

    I assume i’ve missed something from the howto: build win32 guide, but i don’t know what ๐Ÿ™

    any pointers?

    as soon as i get an SVN build of all the binaries in there output location i’ll start on some WiX code ๐Ÿ™‚


    Nic

    #5648

    rpedde
    Participant

    @bedrock wrote:

    Hi Ron,

    I’ve finally got my backside in gear and setup SVN, and done a checkout, i’ve used your win32.zip for depenencies so far, but i am having problems building the code from SVN, specificaly around sqlite stuff

    mt-daapsrcdb-sql-sqlite3.c(99) : warning C4013: 'db_sqlite3_set_error' undefined; assuming extern returning int
    mt-daapsrcdb-sql-sqlite3.c(117) : error C2371: 'db_sqlite3_set_error' : redefinition; different basic types

    I assume i’ve missed something from the howto: build win32 guide, but i don’t know what ๐Ÿ™

    any pointers?

    as soon as i get an SVN build of all the binaries in there output location i’ll start on some WiX code ๐Ÿ™‚


    Nic

    Ah, crap. Right now you’ll have to take sqlite3.c out of the project. Svn is moderately broken at this point. Everything compiles on osx, but I haven’t verified it working on windows, so there might be some breakage. Not sure.

    I’m thiiiiis close to starting work on the win32 side though.

    If you wanted to work on that, though, the file locations and whatnot are all going to be the same as an earlier build. So you could do a checkout (svn switch) to -r1586 and build from that. that builds cleanly (modulo some warnings), and you’ll have a project in the same “shape” as what svn will be soonish.

    — Ron

    #5649

    bedrock
    Participant

    Ok, thanks for the info Ron, i’ll get a build and start looking at WiX ๐Ÿ™‚

Viewing 8 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic.