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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>FAQ</title>
<H1>FAQ</H1>
</head>
<p>
Building
<UL>
<LI><A HREF="#B1">Why does my IDE mysteriously dissapear when I browse QuickFIX in MSDEV?</A></LI>
<LI><A HREF="#B2">When building QuickFIX with gcc, the compiler complains it cannot find <sstream></A></LI>
<LI><A HREF="#B5">After running <I>make</I> on *nix, I get an error that says <I>libtool: ltconfig version `' does not match ltmain.sh version `1.3.5'</I></A></LI>
<LI><A HREF="#B6">During compilation, the compiler has errors in MessageValidator.cpp pertaining to the xml code.</A></LI>
<LI><A HREF="#B8">Can I build quickfix on *nix with a compiler other than gcc?</A></LI>
<LI><A HREF="#B9">The <I>./configure</I> script fails or make fails.</A></LI>
</UL>
</p>
<p>
Running
<UL>
<LI><A HREF="#R1">When trying to connect to a FIX engine running on another machine, QuickFIX immediately drops the connection when it receives a logon.</A></LI>
<LI><A HREF="#R2">QuickFIX seems very unstable on a multiprocessor machine.</A></LI>
<LI><A HREF="#R3">When running my application under *nix, it crashes with a segmentation fault.</A></LI>
<LI><A HREF="#R4">When running my application under Linux, it crashes with a SIG_ABRT.</A></LI>
<LI><A HREF="#R5">My QuickFIX application crashed immediately on startup when using a DataDictionary.</A></LI>
<LI><A HREF="#R6">QuickFIX is dropping messages with repeating groups when not using a DataDictionary.</A></LI>
<LI><A HREF="#R7">Why does getGroup throw an exception. I know the group is there!</A></LI>
<LI><A HREF="#R8">How can I append fields to the Logon message</A></LI>
</UL>
</p>
<H2>Building</H2>
<A NAME="B1"/>
<B><FONT color="#FF0000">Why does my IDE mysteriously dissapear when I browse QuickFIX in MSDEV?</FONT></B><br>
Microsoft Visual Studio 6's Statement completion options do not play very well with C++ templates.
You can resolve this issues simply by turning this feature off. Do this by going to the
<B>Tools->Options</B> menu. Under the <B>Editor</B> tab, uncheck all the <B>Statement completion
options</B>.
<br><br>
<A NAME="B2"/>
<B><FONT color="#FF0000">When building QuickFIX with gcc, the compiler complains it cannot find <sstream></FONT></B><br>
Some earlier versions of gcc were not supplied with the sstream include file. You can get it
<a href="http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream">here</a>
<br><br>
<A NAME="B5"/>
<B><FONT color="#FF0000">After running <I>make</I> on *nix, I get an error that says <I>libtool: ltconfig version `' does not match ltmain.sh version `1.3.5'</I></FONT></B><br>
Run the <I>./bootstrap</I> script, then run <I>./configure</I> and <I>make</I> again.
<br><br>
<A NAME="B6"/>
<B><FONT color="#FF0000">During compilation, the compiler has errors in MessageValidator.cpp pertaining to the xml code.</FONT></B><br>
Older versions of QuickFIX did not search for libxml in the configure script. Check to make sure that libxml is installed
and that the correct include and library directories are being passed into the compiler. You may have to
modify the configure.in file to do this.
<br><br>
<A NAME="B8"/>
<B><FONT color="#FF0000">Can I build quickfix on *nix with a compiler other than gcc?</FONT></B><br>
Probably. We have been able to compile it with icc as well. You can always verify your compilation
by running the suite of unit and acceptance tests against your build.
<br><br>
<A NAME="B9"/>
<B><FONT color="#FF0000">The <I>./configure</I> script fails or make fails.</FONT></B><br>
Run the <I>./bootstrap</I> script, then run <I>./configure</I> and <I>make</I> again.
<H2>Running</H2>
<A NAME="R1"/>
<B><FONT color="#FF0000">When trying to connect to a FIX engine running on another machine, QuickFIX immediately drops the connection when it receives a logon.</FONT></B><br>
Chances are the clocks on the machines are not synchronized. Either synchronize the clocks
or use the CheckLatency and MaxLatency settings to allow the processing of older messages.
<br><br>
<A NAME="R2"/>
<B><FONT color="#FF0000">QuickFIX seems very unstable on a multiprocessor machine.</FONT></B><br>
If you are using gcc 2.95.x, you need to use another STL library like
<a href="http://www.stlport.org/download.html">STLport</a>
<br><br>
<A NAME="R3"/>
<B><FONT color="#FF0000">When running my application under *nix, it crashes with a segmentation fault.</FONT></B><br>
Make sure you have exceptions enabled with the <I>-fexceptions</I> flag. Also make sure you
are catching any exceptions which need to be handled. QuickFIX does make use of the <I>throw</I>
specifier in all function definitions which throw exceptions. If you are still having problems,
verify that you are using the latest stable release of gcc. Some earlier versions have severe bugs
with exception handling.
<br><br>
<A NAME="R5"/>
<B><FONT color="#FF0000">My QuickFIX application crashed immediately on startup when using a DataDictionary.</FONT></B><br>
Older versions of QuickFIX crash if the DataDictionary is poorly formed XML. Check for errors
in your data dictionary. This was fixed in 1.6.
<br><br>
<A NAME="R6"/>
<B><FONT color="#FF0000">QuickFIX is dropping messages with repeating groups when not using a DataDictionary.</FONT></B><br>
Older versions of QuickFIX could not tell the difference between garbled messages and
these messages. Make sure you are using a DataDictionary if you intend on receiving
repeating groups. Newer versions will accept these messages and send proper rejects.
<br><br>
<A NAME="R7"/>
<B><FONT color="#FF0000">Why does getGroup throw an exception? I know the group is there!</FONT></B><br>
Repeating groups are <I>not</I> 0 based, they are 1 based. Make sure you start with 1 when pulling
groups out of a message.
<br><br>
<A NAME="R8"/>
<B><FONT color="#FF0000">How can I append fields to the Logon message?</FONT></B><br>
Before an administrative message is sent, it makes it's way through the toAdmin callback. This
gives you the opportunity to modify the message in any way you like. Here you can add things like
passwords or other fields a counterparty may require. This can be done for any message, including
application messages via the toApp callback.
</body>
</html>
|