File: building.html

package info (click to toggle)
quickfix 1.13.3%2Bdfsg-9
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 152,548 kB
  • ctags: 679,426
  • sloc: cpp: 639,331; xml: 129,200; python: 108,722; ruby: 85,152; sh: 10,492; ansic: 9,025; java: 1,827; cs: 1,145; makefile: 523; sql: 313; perl: 108
file content (123 lines) | stat: -rw-r--r-- 7,242 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html>
  <head>
    <title>Building QuickFIX</title>
    <H1>Building QuickFIX</H1>
  </head>

  <UL>
    <LI><A HREF="#Windows (C++)">Windows (C++)</A></LI>
    <LI><A HREF="#Windows (.NET)">Windows (.NET)</A></LI>
    <LI><A HREF="#Windows (Java)">Windows (Java)</A></LI>
    <LI><A HREF="#Linux / Solaris / FreeBSD / Mac OS X (C++/Java)">Linux / Solaris / FreeBSD / Mac OS X  (C++/Java)</A></LI>
  </UL>

  <body>
    <A NAME="Windows (C++)"/>
    <H3>Windows (C++)</H3>
    <p>
      Solution and project files are provided for building under Visual Studio.  QuickFIX supports Visual Studio 7 (2003), 
      Visual Studio 8 (2005), Visual Studio 9 (2008) and Visual Studio 10 (2010). The solution files
      provided for these versions are <B>quickfix_vs7.dsw</B>, <B>quickfix_vs8.sln</B>, <B>quickfix_vs9.sln</B>, and <B>quickfix_vs10.sln</B>
      respectively.
    </p>
    <p>
      Simply open the appropriate solution file and do a batch build of all the projects.  This will create
      <B>lib\quickfix.lib</B> and <B>lib\debug\quickfix.lib</B> which can be linked into your
      applications. The header files will also be copied to the <I>include</I> directory.
    </p>
    <p>
      Since windows does not have a standard system for storing header and library files, you
      should organize them however best suits your build environment. Leaving them in the <I>lib</I>
      and <I>include</I> directories they are placed into by the build is one option.
    </p>
    <p>
      Compile time options are controlled from the <B>config_windows.h</B> file in the <I>src</I>
      directory. The following options are supported:<br><br>
      <FONT color="#0000FF">#define HAVE_STLPORT 1</FONT>
      Compile with stlport instead of standard visual c++ STL implementation.<br/>
      <FONT color="#0000FF">#define HAVE_JAVA 1</FONT>
      Compiles JNI wrappers for QuickFIX library, allowing you to access QuickFIX from java.<br/>
      <FONT color="#0000FF">#define HAVE_ODBC 1</FONT>
      Compiles ODBC support into QuickFIX.<br/>
      <FONT color="#0000FF">#define HAVE_MYSQL 1</FONT>
      Compiles MySQL support into QuickFIX. If you enable this option, the mysql include and
      library directories must be in the Visual Studio search paths.<br/>
      <FONT color="#0000FF">#define HAVE_POSTGRESQL 1</FONT>
      Compiles PostgreSQL support into QuickFIX. If you enable this option, the postgres include and
      library directories must be in the Visual Studio search paths.<br/>
      <FONT color="#0000FF">#define HAVE_LIBXML 1</FONT>
      Compile and link XML parsing code against the libxml library instead of the default MSXML3.<br/>
      <FONT color="#0000FF">#define ENABLE_CALLSTACK 1</FONT>
      Tells QuickFIX to keep track of a C++ callstack that will be printed out in the event of a the process crashing.  Only use this when trying to track down a repeatable problem.<br/>
    </p>
    <A NAME="Windows (.NET)"/>
    <H3>Windows (.NET)</H3>
	<p>
	  QuickFIX comes with a .NET wrapper written in managed C++. This enables any CLR based language (i.e., C#, VB.NET)
	  to access QuickFIX.
	</p>
	<p>
	  The instruction for building under .NET are the same as the instructions for windows listed above. 
          In addition to the quickfix lib files, DLLs named <B>quickfix_net.dll</B> and <B>quickfix_net_messages.dll</B>
	  will be placed into your <I>lib</I> and <I>lib\debug</I> directories.
	</p>
	<A NAME="Windows (Java)"/>
    <H3>Windows (Java)</H3>
	<p>
	  The QuickFIX JNI wrapper for Java has been deprecated.  It is now recommended that you use <a href="http://www.quickfixj.org">QuickFIX/J</a>,
	  a native port of the QuickFIX engine. For those of you using the JNI interface, <B>quickfixj.jar</B> has
	  been provided for your convenience.
	</p>
    <A NAME="Linux / Solaris / FreeBSD / Mac OS X (C++/Java)"/>
    <H3>Linux / Solaris / FreeBSD / Mac OS X (C++/Java)</H3>
    <p>
      QuickFIX uses GNU autotools (autoconf, automake, and libtool) in conjunction with make to
      build on unix systems. If you also want to reuse our makefiles for developing your own application,
      you will find it useful. Also note
      that if your version of gcc does not come with sstream, you will need to download it from
      the link above and put it in the correct include directory. Also please note for Solaris
      you must use GNU make, the make that comes with Solaris will not work.
    </p>
    <p>
      Building under *nix requires two steps.  First, in the root quickfix directory, type
      <B>./configure</B>  This will probe your system to find out what functionality it supports
      for use in determining how to build QuickFIX.  After ./configure completes succesfully,
      simply type <B>make</B> to build.  If you run into problems running configure, you may
      need to run the <B>./bootstrap</B> script first.
    </p>
    <p>
      There are some options you can pass to <I>./configure</I> to enable compile time features.
      These are:<br><br>
      <FONT color="#0000FF">--with-java</FONT> - Build the Java examples against QuickFIX/J.  JAVA_HOME will be used to find Java.<br>
      <FONT color="#0000FF">--with-python=&lt;include directory&gt;</FONT> - Build the Python API.  Use directory which contains python headers.<br>
      <FONT color="#0000FF">--with-ruby</FONT> - Build the Ruby API.  Ruby interpreter in your path will be used.<br>
      <FONT color="#0000FF">--with-mysql=&lt;base directory&gt;</FONT> - Compile in mysql support<br>
      <FONT color="#0000FF">--with-postgresql=&lt;base directory&gt;</FONT> - Compile in postgresql support<br>
      <FONT color="#0000FF">--with-stlport=&lt;base directory&gt;</FONT> - Compile with stlport instead of
      standard gcc STL implementation (recommended for multiprocessor machines running gcc 2.95.x)<br>
      <FONT color="#0000FF">--enable-callstack</FONT> - Display C++ call stack after abnormal termination. Only use this when trying to track down a repeatable problem.<br>
    </p>
    <p>
      If you are using the SUNPro compiler, you will need to set the following environment variables:<br/><br/>
      <b>CC</b>=<i>&lt;full path to SUNPro CC binary&gt;</i><br/>
      <b>CFLAGS</b>=<i>-g -xs</i><br/>
      <b>CXX</b>=<i>&lt;full path to SUNPro CC binary&gt;</i><br/>
      <b>CXXFLAGS</b>=<i>-g -xs</i><br/>
      <b>LD</b>=<i>&lt;full path to SUNPro CC binary&gt;</i><br/>
      <b>LDFLAGS</b>=<i>-g -xs -lCstd</i><br/>
      <b>AR</b>=<i>&lt;full path to SUNPro CC binary&gt;</i><br/>
      <b>AR_FLAGS</b>=<i>-g -xs -xar -o</i><br/>
    </p>
    <p>
      After succesfully building QuickFIX, you should run <B>make install</B> as root.
      This will place the library <B>libquickfix.so</B> and the quickfix header files into the appropriate directories.  If you do not
      have root access, you can also run configure with the
      <FONT color="#0000FF">--prefix=&lt;base directory&gt;</FONT> option, where the base directory
      is some directory which your account has write
      access. <B>note: </b> under Mac OS X, the library is named
      called <B>libquickfix.dylib</B>
    </p>
  </body>
</html>