quickfix-users Mailing List for QuickFIX (Page 22)
Brought to you by:
orenmnero
You can subscribe to this list here.
2002 |
Jan
|
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
(11) |
Oct
(3) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(7) |
Feb
(3) |
Mar
(10) |
Apr
(40) |
May
(63) |
Jun
(12) |
Jul
(26) |
Aug
(13) |
Sep
(6) |
Oct
(13) |
Nov
(17) |
Dec
(28) |
2004 |
Jan
(13) |
Feb
(6) |
Mar
(9) |
Apr
(20) |
May
(15) |
Jun
(29) |
Jul
(22) |
Aug
(11) |
Sep
(32) |
Oct
(34) |
Nov
(22) |
Dec
(33) |
2005 |
Jan
(17) |
Feb
(8) |
Mar
(3) |
Apr
(20) |
May
(19) |
Jun
(29) |
Jul
(30) |
Aug
(10) |
Sep
(24) |
Oct
|
Nov
(17) |
Dec
(11) |
2006 |
Jan
(32) |
Feb
(54) |
Mar
(34) |
Apr
(43) |
May
(14) |
Jun
(11) |
Jul
(10) |
Aug
(43) |
Sep
(37) |
Oct
(44) |
Nov
(16) |
Dec
(11) |
2007 |
Jan
(26) |
Feb
(5) |
Mar
(23) |
Apr
(3) |
May
(22) |
Jun
(17) |
Jul
(22) |
Aug
(34) |
Sep
(17) |
Oct
(18) |
Nov
(4) |
Dec
(8) |
2008 |
Jan
(28) |
Feb
(28) |
Mar
(23) |
Apr
(37) |
May
(53) |
Jun
(20) |
Jul
(30) |
Aug
(12) |
Sep
(19) |
Oct
(16) |
Nov
(15) |
Dec
(10) |
2009 |
Jan
(19) |
Feb
(8) |
Mar
(21) |
Apr
(8) |
May
(15) |
Jun
(22) |
Jul
(34) |
Aug
(18) |
Sep
(23) |
Oct
(26) |
Nov
(16) |
Dec
(13) |
2010 |
Jan
(38) |
Feb
(17) |
Mar
(39) |
Apr
(34) |
May
(5) |
Jun
(15) |
Jul
(7) |
Aug
(18) |
Sep
(4) |
Oct
(16) |
Nov
(3) |
Dec
(17) |
2011 |
Jan
(28) |
Feb
(12) |
Mar
(36) |
Apr
(9) |
May
(26) |
Jun
(27) |
Jul
(6) |
Aug
(10) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
|
2012 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(9) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(9) |
Nov
(10) |
Dec
(8) |
2013 |
Jan
(3) |
Feb
(2) |
Mar
(7) |
Apr
(2) |
May
|
Jun
(7) |
Jul
(22) |
Aug
(5) |
Sep
(3) |
Oct
(3) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(4) |
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(4) |
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(5) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Paul C. <pau...@gr...> - 2010-01-13 17:30:39
|
Can anyone tell me how to get myself off this distribution list? From: Anderson dos Santos Donda [mailto:and...@gm...] Sent: Wednesday, January 13, 2010 9:04 AM To: qui...@li... Subject: [Quickfix-users] Installing on Debian Linux Lenny Hi people... I'm trying to install the quickfix on debian linux, but when I run the make command, I got this erros: In file included from ../FieldTypes.h:29, from ../FieldConvertors.h:25, from ../Field.h:32, from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Utility.h:179: error: 'std::strcmp' has not been declared ../Utility.h:181: error: 'std::strlen' has not been declared ../Utility.h:184: error: 'std::memcpy' has not been declared ../Utility.h:185: error: 'std::memset' has not been declared ../Utility.h:189: error: 'std::strerror' has not been declared In file included from ../FieldConvertors.h:26, from ../Field.h:32, from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Exceptions.h: In member function 'std::string FIX::SocketException::errorToWhat()': ../Exceptions.h:253: error: 'strerror' was not declared in this scope In file included from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Field.h: In member function 'void FIX::FieldBase::calculate() const': ../Field.h:110: error: 'memcpy' was not declared in this scope make[4]: *** [FieldBaseTestCase.lo] Error 1 make[4]: Leaving directory `/home/donda/quickfix/src/C++/test' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/donda/quickfix/src/C++' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/donda/quickfix/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/donda/quickfix' make: *** [all] Error 2 Someone knows how can I fit this? Thanks |
From: Anderson d. S. D. <and...@gm...> - 2010-01-13 17:29:03
|
Hi people... I'm trying to install the quickfix on debian linux, but when I run the make command, I got this erros: In file included from ../FieldTypes.h:29, from ../FieldConvertors.h:25, from ../Field.h:32, from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Utility.h:179: error: 'std::strcmp' has not been declared ../Utility.h:181: error: 'std::strlen' has not been declared ../Utility.h:184: error: 'std::memcpy' has not been declared ../Utility.h:185: error: 'std::memset' has not been declared ../Utility.h:189: error: 'std::strerror' has not been declared In file included from ../FieldConvertors.h:26, from ../Field.h:32, from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Exceptions.h: In member function 'std::string FIX::SocketException::errorToWhat()': ../Exceptions.h:253: error: 'strerror' was not declared in this scope In file included from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Field.h: In member function 'void FIX::FieldBase::calculate() const': ../Field.h:110: error: 'memcpy' was not declared in this scope make[4]: *** [FieldBaseTestCase.lo] Error 1 make[4]: Leaving directory `/home/donda/quickfix/src/C++/test' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/donda/quickfix/src/C++' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/donda/quickfix/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/donda/quickfix' make: *** [all] Error 2 Someone knows how can I fit this? Thanks |
From: Anderson d. S. D. <and...@gm...> - 2010-01-13 17:04:28
|
Hi people... I'm trying to install the quickfix on debian linux, but when I run the make command, I got this erros: In file included from ../FieldTypes.h:29, from ../FieldConvertors.h:25, from ../Field.h:32, from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Utility.h:179: error: 'std::strcmp' has not been declared ../Utility.h:181: error: 'std::strlen' has not been declared ../Utility.h:184: error: 'std::memcpy' has not been declared ../Utility.h:185: error: 'std::memset' has not been declared ../Utility.h:189: error: 'std::strerror' has not been declared In file included from ../FieldConvertors.h:26, from ../Field.h:32, from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Exceptions.h: In member function 'std::string FIX::SocketException::errorToWhat()': ../Exceptions.h:253: error: 'strerror' was not declared in this scope In file included from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Field.h: In member function 'void FIX::FieldBase::calculate() const': ../Field.h:110: error: 'memcpy' was not declared in this scope make[4]: *** [FieldBaseTestCase.lo] Error 1 make[4]: Leaving directory `/home/donda/quickfix/src/C++/test' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/donda/quickfix/src/C++' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/donda/quickfix/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/donda/quickfix' make: *** [all] Error 2 Someone knows how can I fit this? Thanks |
From: Steven D. <ste...@ho...> - 2010-01-13 04:23:26
|
Hello Kenny, onLogout would work great but it doesn't specifically say the reason or condition of the onLogout which is why I'm thinking to look more at what the socket level handling is doing. Any other guidance you can provide is much appreciated. Kindest regards, Steven ________________________________ > From: ks...@co... > Date: Tue, 12 Jan 2010 20:36:52 -0600 > Subject: Re: [Quickfix-users] Get socket level FIX::Session status information > To: ste...@ho... > CC: qui...@li... > > I guess that should work, but you could determine this from onLogon and onLogoff > > http://quickfixengine.org/quickfix/doc/html/application.html > > > > -- > Kenny Stone > Connamara Systems, LLC > > > > On Tue, Jan 12, 2010 at 8:25 PM, Steven Dixon> wrote: > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > > > I'm resending this to the list as plain text this time. Any help is appreciated. > > > > ________________________________ > >> From: ste...@ho... > >> To: qui...@li... > >> Subject: Get socket level FIX::Session status information > >> Date: Tue, 12 Jan 2010 21:12:12 -0500 > >> > >> > >> Hello, > >> > >> > >> > >> Is there a way to determine what is going on at a socket level i.e. connection was immidiately rejected, or connection was terminated? I'm looking to do something like an Application onEvent type setup ideally, or polling a list of sessions to check their socket level status. > > > >> > >> > >> > >> Here is the area I'm hopeing to build this into, am I on the right track working this through sessions or is there a totally different method? > >> > >> > >> > >> std::set sessions = settings.getSessions(); > >> std::set::iterator i; > >> for( i = sessions.begin(); i != sessions.end(); ++i ) > >> { > >> FIX::Session* session = FIX::Session::lookupSession( *i ); > >> if ( session->isEnabled() ) { > >> // example of session method call > >> > >> > >> } > >> std::cout << std::endl << *i << std::endl; > >> } > >> > >> > >> For background I have a buy side initiator Application type setup. > >> > >> > >> > >> Regards, > >> > >> Steven > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > Quickfix-users mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > |
From: Kenny S. <ks...@co...> - 2010-01-13 02:37:14
|
I guess that should work, but you could determine this from onLogon and onLogoff http://quickfixengine.org/quickfix/doc/html/application.html -- Kenny Stone Connamara Systems, LLC On Tue, Jan 12, 2010 at 8:25 PM, Steven Dixon <ste...@ho...>wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I'm resending this to the list as plain text this time. Any help is > appreciated. > > ________________________________ > > From: ste...@ho... > > To: qui...@li... > > Subject: Get socket level FIX::Session status information > > Date: Tue, 12 Jan 2010 21:12:12 -0500 > > > > > > Hello, > > > > > > > > Is there a way to determine what is going on at a socket level i.e. > connection was immidiately rejected, or connection was terminated? I'm > looking to do something like an Application onEvent type setup ideally, or > polling a list of sessions to check their socket level status. > > > > > > > > Here is the area I'm hopeing to build this into, am I on the right track > working this through sessions or is there a totally different method? > > > > > > > > std::set sessions = settings.getSessions(); > > std::set::iterator i; > > for( i = sessions.begin(); i != sessions.end(); ++i ) > > { > > FIX::Session* session = FIX::Session::lookupSession( *i ); > > if ( session->isEnabled() ) { > > // example of session method call > > > > > > } > > std::cout << std::endl << *i << std::endl; > > } > > > > > > For background I have a buy side initiator Application type setup. > > > > > > > > Regards, > > > > Steven > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: Steven D. <ste...@ho...> - 2010-01-13 02:26:26
|
I'm resending this to the list as plain text this time. Any help is appreciated. ________________________________ > From: ste...@ho... > To: qui...@li... > Subject: Get socket level FIX::Session status information > Date: Tue, 12 Jan 2010 21:12:12 -0500 > > > Hello, > > > > Is there a way to determine what is going on at a socket level i.e. connection was immidiately rejected, or connection was terminated? I'm looking to do something like an Application onEvent type setup ideally, or polling a list of sessions to check their socket level status. > > > > Here is the area I'm hopeing to build this into, am I on the right track working this through sessions or is there a totally different method? > > > > std::set sessions = settings.getSessions(); > std::set::iterator i; > for( i = sessions.begin(); i != sessions.end(); ++i ) > { > FIX::Session* session = FIX::Session::lookupSession( *i ); > if ( session->isEnabled() ) { > // example of session method call > > > } > std::cout << std::endl << *i << std::endl; > } > > > For background I have a buy side initiator Application type setup. > > > > Regards, > > Steven |
From: Steven D. <ste...@ho...> - 2010-01-13 02:19:59
|
Hi Carlos, QuickFIX does not have any Swift support. You would still need a black box that talks Swift on the back end and can talk FIX to your QuickFIX app, or find the ability to connect driectly to the Swift party in your case via the non-swift FIX protocol. > Date: Tue, 12 Jan 2010 14:45:32 -0800 > From: che...@ya... > To: qui...@li... > Subject: [Quickfix-users] Newbie > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hello all, > > Here at office we currently have the following configuration: > OpenLink Findur <--> Cloverleaf <--> Swift > > We want to develop a proprietary application in order to substitute Cloverleaf. It is possible so use quickfix to develop such app? > > If the next configuration is possible: > OpenLink Findur <--> Quickfix app <--> Swift > can someone redirect me to some source of information, examples,etc. > > Thanks. > > Carlos > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: Steven D. <ste...@ho...> - 2010-01-13 02:12:20
|
Hello, Is there a way to determine what is going on at a socket level i.e. connection was immidiately rejected, or connection was terminated? I'm looking to do something like an Application onEvent type setup ideally, or polling a list of sessions to check their socket level status. Here is the area I'm hopeing to build this into, am I on the right track working this through sessions or is there a totally different method? std::set<FIX::SessionID> sessions = settings.getSessions(); std::set<FIX::SessionID>::iterator i; for( i = sessions.begin(); i != sessions.end(); ++i ) { FIX::Session* session = FIX::Session::lookupSession( *i ); if ( session->isEnabled() ) { // example of session method call } std::cout << std::endl << *i << std::endl; } For background I have a buy side initiator Application type setup. Regards, Steven |
From: Carlos Hernandez-L. <che...@ya...> - 2010-01-12 22:45:39
|
Hello all, Here at office we currently have the following configuration: OpenLink Findur <--> Cloverleaf <--> Swift We want to develop a proprietary application in order to substitute Cloverleaf. It is possible so use quickfix to develop such app? If the next configuration is possible: OpenLink Findur <--> Quickfix app <--> Swift can someone redirect me to some source of information, examples,etc. Thanks. Carlos |
From: gtsafas <gt...@rb...> - 2010-01-12 14:44:14
|
Odd the store directory was auto created, Ok I will try it thank you for being very helpful, I appreciate it. DA SILVA Antonio wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > I think you have to create all the directories you declare in > the conf files before you launch your FIX app, quickfix do > not auto-create them at startup for you. > > Antonio. > > Le 11/01/2010 15:04, gtsafas a écrit : >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.htmlQuickFIX >> Support: http://www.quickfixengine.org/services.html >> >> Thank you for replying Antonio, >> I had specified the log path in the configuration and it did not >> autocreatethe folder on connect. Will it only create the log when it >> recieves amessage? >> >> DA SILVA Antonio wrote:> > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > -- View this message in context: http://old.nabble.com/Built-QuickFix-app%2C-where-is-the-log--tp27086370p27128372.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Joaquín G. <j.g...@ra...> - 2010-01-12 13:15:57
|
You're right. I should have noticed that. It works now. Thank you! El 12/01/2010, a las 13:44, DA SILVA Antonio escribió: QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi, Just put include on "FileLog.h" header where you are using it. Antonio. Le 12/01/2010 09:39, Joaquín Gracia a écrit : > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi all, > > I'm trying to use FIX::FileLogFactory to store the log in a file doing > this: > > FIX::FileLogFactory logFactory( settings ); > > But compiling returns this error message: > > error C2039: 'FileLogFactory' : is not a member of 'FIX' > > Can anyone help? > > Thank you. > > > > El 18/11/2009, a las 16:46, Dale Wilson escribió: > > Joaquín Gracia wrote: > >> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hi all, >> >> I'm using an application directly developed from the tradeclient >> example in C++. >> >> How can I make this applicaton generate a log file with all >> messages sent and received? >> >> > ** > > Change the code to use FIX::FileLogFactory rather than > FIX::ScreenLogFactory. > Dale > > ** > >> Thanks. >> >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day trial. Simplify your report design, integration and >> deployment - and focus on what you do best, core application coding. >> Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> >> > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast > and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > > ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: DA S. A. <ada...@ca...> - 2010-01-12 13:05:54
|
Hi, Just put include on "FileLog.h" header where you are using it. Antonio. Le 12/01/2010 09:39, Joaquín Gracia a écrit : > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi all, > > I'm trying to use FIX::FileLogFactory to store the log in a file doing > this: > > FIX::FileLogFactory logFactory( settings ); > > But compiling returns this error message: > > error C2039: 'FileLogFactory' : is not a member of 'FIX' > > Can anyone help? > > Thank you. > > > > El 18/11/2009, a las 16:46, Dale Wilson escribió: > > Joaquín Gracia wrote: > >> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> Hi all, >> >> I'm using an application directly developed from the tradeclient >> example in C++. >> >> How can I make this applicaton generate a log file with all >> messages sent and received? >> >> > ** > > Change the code to use FIX::FileLogFactory rather than > FIX::ScreenLogFactory. > Dale > > ** > >> Thanks. >> >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day trial. Simplify your report design, integration and >> deployment - and focus on what you do best, core application coding. >> Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Quickfix-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-users >> >> > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > > |
From: Joaquín G. <j.g...@ra...> - 2010-01-12 08:59:19
|
Hi all, I'm trying to use FIX::FileLogFactory to store the log in a file doing this: FIX::FileLogFactory logFactory( settings ); But compiling returns this error message: error C2039: 'FileLogFactory' : is not a member of 'FIX' Can anyone help? Thank you. El 18/11/2009, a las 16:46, Dale Wilson escribió: Joaquín Gracia wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi all, > > I'm using an application directly developed from the tradeclient > example in C++. > > How can I make this applicaton generate a log file with all > messages sent and received? > ** Change the code to use FIX::FileLogFactory rather than FIX::ScreenLogFactory. Dale ** > Thanks. > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day trial. Simplify your report design, integration and > deployment - and focus on what you do best, core application coding. > Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: DA S. A. <ada...@ca...> - 2010-01-12 07:33:34
|
Hi, I think you have to create all the directories you declare in the conf files before you launch your FIX app, quickfix do not auto-create them at startup for you. Antonio. Le 11/01/2010 15:04, gtsafas a écrit : > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.htmlQuickFIX Support: http://www.quickfixengine.org/services.html > > Thank you for replying Antonio, > I had specified the log path in the configuration and it did not autocreatethe folder on connect. Will it only create the log when it recieves amessage? > > DA SILVA Antonio wrote:> > |
From: Dirkjan O. <di...@oc...> - 2010-01-11 17:08:44
|
Hello list, I'm currently in the process of attempting to setup Quickfix through the Python wrappers. It looks like they're not the best-maintained part of the codebase (indeed, it looks like the codebase isn't really being actively maintained). I've pulled the latest from github/quickfix/quickfix, configured and compiled fine, but when I try to run a test script, I get this error: Traceback (most recent call last): File "test.py", line 32, in <module> acceptor = quickfix.SocketAcceptor(app, store, settings, logging) File "/home/djc/src/quickfix/lib/python/quickfix.py", line 4529, in __init__ SocketAcceptorBase.__init__(self, application, storeFactory, settings, logFactory) File "/home/djc/src/quickfix/lib/python/quickfix.py", line 4441, in __init__ this = _quickfix.new_SocketAcceptorBase(*args) NotImplementedError: Wrong number of arguments for overloaded function 'new_SocketAcceptorBase'. Possible C/C++ prototypes are: FIX::SocketAcceptor(FIX::Application &,FIX::MessageStoreFactory &,FIX::SessionSettings const &) FIX::SocketAcceptor(FIX::Application &,FIX::MessageStoreFactory &,FIX::SessionSettings const &,FIX::LogFactory &) The error is clear enough, but it doesn't seem to match what my code is trying to do: settings = quickfix.SessionSettings('config.ini') app = Application() store = quickfix.FileStoreFactory(settings) logging = quickfix.FileLogFactory(settings) acceptor = quickfix.SocketAcceptor(app, store, settings, logging) acceptor.start() # while condition == true: do something acceptor.stop() IOW, I'm already passing an Application, a StoreFactory, a SessionSettings and a LogFactory, exactly as requested. What am I doing wrong? Does it somehow count self? I did a little digging (Googled, searched the mailing list), but since I don't know much about C++ or SWIG either, I didn't get all that far. I'd be happy to contribute back better Python support, but I'd need to get it running first. Thanks in advance, Dirkjan |
From: gtsafas <gt...@rb...> - 2010-01-11 14:05:04
|
Thank you for replying Antonio, I had specified the log path in the configuration and it did not autocreate the folder on connect. Will it only create the log when it recieves a message? DA SILVA Antonio wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > 1) The logs are in the directory/file you specified into > your conf files : > [DEFAULT] > ConnectionType=initiator > FileStorePath=./store > FileLogPath=./log > ............ > ==> FileLogPath > > 2) The loop is supposed to wait for something happen > and then exit the application. > In your case you are consuming almost all CPU! > You can put at least a sleep(1second) to avoid CPU > overload, and when something become true/false the loop > exit : > loop = true; > ............. > while( loop ) > { > // ...... > // sleep 1 second > // ...... > if( event == exitEvent ) > { > loop = false; > } > } > > > I use to put waiting on system signals : > .................. > for( ; ; ) > { > int signal = wait_for_terminate_request( ); > if( signal == SIGUSR1 ) > { > break; > } > else > { > // Do/log something > // sleep 1 second > } > } > ................ > > int wait_for_terminate_request( ) > { > sigset_t sset; > sigemptyset( &sset ); > sigaddset( &sset, SIGINT ); > sigaddset( &sset, SIGQUIT ); > sigaddset( &sset, SIGTERM ); > sigaddset( &sset, SIGUSR1 ); > sigprocmask( SIG_BLOCK, &sset, NULL ); > int sig; > if( sigwait( &sset, &sig ) == 0 ) > return sig; // Signal number. > return -1; // Error. > } > > In your terminal just type 'kill -10 myappPID' > and it will exit gracefully. > > 3) Do not 'get' fields directly, you could have exceptions... > You should test if the field is here and then pick it : > if( message.isSetField( FIX::FIELD::ClOrdID ) ) > message.get( clordid ); > or for header fields : > if( message.getHeader( ).isSetField( FIX::FIELD::DeliverToCompID ) ) > message.getHeader( ).get( delivertocompid ); > > Antonio. > > > Le 09/01/2010 09:33, gtsafas a écrit : >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> I built a quickfix app using pretty much the example from the site >> >> I had a few questions as I am new to both c++ and quickfix, hopefully >> someone can help me. >> >> What should be going inside the while loop? >> I see the store directory get created but where is my log getting >> created? >> Do I have to do anything special to receive drop copies? >> >> Code below, >> >> Initiator.cpp >> >> #include "/opt/quickfix/include/quickfix/FileStore.h" >> #include "/opt/quickfix/include/quickfix/FileLog.h" >> #include "/opt/quickfix/include/quickfix/SocketInitiator.h" >> #include "/opt/quickfix/include/quickfix/SessionSettings.h" >> #include "/home/gt/SCRIPTS/GT-fix/MYAPP.h" >> #include <string> >> #include <iostream> >> #include <fstream> >> >> int main( int argc, char** argv ) >> { >> >> try >> { >> >> if ( argc < 2 ) return 1; >> std::string file = argv[1]; >> >> FIX::SessionSettings settings( file ); >> >> Application application; >> FIX::FileStoreFactory storeFactory(settings); >> FIX::ScreenLogFactory logFactory(settings); >> FIX::SocketInitiator initiator(application, storeFactory, settings, >> logFactory); >> >> initiator.start(); >> while ( true ) >> { >> std::cout << "CONNECTED" << std::endl; >> } >> initiator.stop(); >> return 0; >> } >> catch ( std::exception & e ) >> { >> std::cout << e.what() << std::endl; >> return 1; >> } >> } >> >> >> MYAPP.cpp >> >> #include "/home/gt/SCRIPTS/GT-fix/ROSNAPP.h" >> #include "/opt/quickfix/include/quickfix/Session.h" >> #include "/opt/quickfix/include/quickfix/MessageCracker.h" >> >> void Application::onLogon( const FIX::SessionID& sessionID ) {} >> >> void Application::onLogout( const FIX::SessionID& sessionID ) {} >> >> >> void Application::fromApp( const FIX::Message& message, >> const FIX::SessionID& sessionID ) >> throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, >> FIX::IncorrectTagValue, FIX::UnsupportedMessageType ) >> { >> crack(message, sessionID); >> } >> >> void Application::onMessage( const FIX42::NewOrderSingle& message, >> const >> FIX::SessionID& ) >> { >> FIX::ClOrdID clOrdID; >> FIX::ClearingAccount clearingAccount; >> >> message.get(clOrdID); >> message.get(clearingAccount); >> } >> >> /* void Application::onMessage( const FIX41::NewOrderSingle& message, >> const FIX::SessionID& ) >> { >> FIX::ClOrdID clOrdID; >> message.get(clOrdID); >> >> // compile time error!! field not defined in FIX41 >> FIX::ClearingAccount clearingAccount; >> message.get(clearingAccount); >> } >> >> void Application::onMessage( const FIX42::OrderCancelRequest& >> message, >> const FIX::SessionID& ) >> { >> FIX::ClOrdID clOrdID; >> message.get(clOrdID); >> >> // compile time error!! field not defined for OrderCancelRequest >> FIX::Price price; >> message.get(price); >> } >> */ >> >> >> > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > -- View this message in context: http://old.nabble.com/Built-QuickFix-app%2C-where-is-the-log--tp27086370p27110920.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: DA S. A. <ada...@ca...> - 2010-01-11 07:57:36
|
Hi, 1) The logs are in the directory/file you specified into your conf files : [DEFAULT] ConnectionType=initiator FileStorePath=./store FileLogPath=./log ............ ==> FileLogPath 2) The loop is supposed to wait for something happen and then exit the application. In your case you are consuming almost all CPU! You can put at least a sleep(1second) to avoid CPU overload, and when something become true/false the loop exit : loop = true; ............. while( loop ) { // ...... // sleep 1 second // ...... if( event == exitEvent ) { loop = false; } } I use to put waiting on system signals : .................. for( ; ; ) { int signal = wait_for_terminate_request( ); if( signal == SIGUSR1 ) { break; } else { // Do/log something // sleep 1 second } } ................ int wait_for_terminate_request( ) { sigset_t sset; sigemptyset( &sset ); sigaddset( &sset, SIGINT ); sigaddset( &sset, SIGQUIT ); sigaddset( &sset, SIGTERM ); sigaddset( &sset, SIGUSR1 ); sigprocmask( SIG_BLOCK, &sset, NULL ); int sig; if( sigwait( &sset, &sig ) == 0 ) return sig; // Signal number. return -1; // Error. } In your terminal just type 'kill -10 myappPID' and it will exit gracefully. 3) Do not 'get' fields directly, you could have exceptions... You should test if the field is here and then pick it : if( message.isSetField( FIX::FIELD::ClOrdID ) ) message.get( clordid ); or for header fields : if( message.getHeader( ).isSetField( FIX::FIELD::DeliverToCompID ) ) message.getHeader( ).get( delivertocompid ); Antonio. Le 09/01/2010 09:33, gtsafas a écrit : > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I built a quickfix app using pretty much the example from the site > > I had a few questions as I am new to both c++ and quickfix, hopefully > someone can help me. > > What should be going inside the while loop? > I see the store directory get created but where is my log getting created? > Do I have to do anything special to receive drop copies? > > Code below, > > Initiator.cpp > > #include "/opt/quickfix/include/quickfix/FileStore.h" > #include "/opt/quickfix/include/quickfix/FileLog.h" > #include "/opt/quickfix/include/quickfix/SocketInitiator.h" > #include "/opt/quickfix/include/quickfix/SessionSettings.h" > #include "/home/gt/SCRIPTS/GT-fix/MYAPP.h" > #include <string> > #include <iostream> > #include <fstream> > > int main( int argc, char** argv ) > { > > try > { > > if ( argc < 2 ) return 1; > std::string file = argv[1]; > > FIX::SessionSettings settings( file ); > > Application application; > FIX::FileStoreFactory storeFactory(settings); > FIX::ScreenLogFactory logFactory(settings); > FIX::SocketInitiator initiator(application, storeFactory, settings, > logFactory); > > initiator.start(); > while ( true ) > { > std::cout << "CONNECTED" << std::endl; > } > initiator.stop(); > return 0; > } > catch ( std::exception & e ) > { > std::cout << e.what() << std::endl; > return 1; > } > } > > > MYAPP.cpp > > #include "/home/gt/SCRIPTS/GT-fix/ROSNAPP.h" > #include "/opt/quickfix/include/quickfix/Session.h" > #include "/opt/quickfix/include/quickfix/MessageCracker.h" > > void Application::onLogon( const FIX::SessionID& sessionID ) {} > > void Application::onLogout( const FIX::SessionID& sessionID ) {} > > > void Application::fromApp( const FIX::Message& message, > const FIX::SessionID& sessionID ) > throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, > FIX::IncorrectTagValue, FIX::UnsupportedMessageType ) > { > crack(message, sessionID); > } > > void Application::onMessage( const FIX42::NewOrderSingle& message, const > FIX::SessionID& ) > { > FIX::ClOrdID clOrdID; > FIX::ClearingAccount clearingAccount; > > message.get(clOrdID); > message.get(clearingAccount); > } > > /* void Application::onMessage( const FIX41::NewOrderSingle& message, > const FIX::SessionID& ) > { > FIX::ClOrdID clOrdID; > message.get(clOrdID); > > // compile time error!! field not defined in FIX41 > FIX::ClearingAccount clearingAccount; > message.get(clearingAccount); > } > > void Application::onMessage( const FIX42::OrderCancelRequest& message, > const FIX::SessionID& ) > { > FIX::ClOrdID clOrdID; > message.get(clOrdID); > > // compile time error!! field not defined for OrderCancelRequest > FIX::Price price; > message.get(price); > } > */ > > > |
From: DA S. A. <ada...@ca...> - 2010-01-11 07:30:47
|
Hi, I think you forgot to put "libquickfix.so" somewhere in the linker... Antonio. Le 07/01/2010 19:56, gtsafas a écrit : QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html I was able to build with -c When I try g++ myinit.cpp MYAPP.cpp I get this new error /tmp/ccqcUJdt.o: In function `main': myinit.cpp:(.text+0x78): undefined reference to `FIX::SessionSettings::SessionSettings(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' myinit.cpp:(.text+0x111): undefined reference to `FIX::SocketInitiator::SocketInitiator(FIX::Application&, FIX::MessageStoreFactory&, FIX::SessionSettings const&, FIX::LogFactory&)' myinit.cpp:(.text+0x11d): undefined reference to `FIX::Initiator::start()' myinit.cpp:(.text+0x153): undefined reference to `FIX::SocketInitiator::~SocketInitiator()' /tmp/ccqcUJdt.o: In function `FIX::FileStoreFactory::FileStoreFactory(FIX::SessionSettings const&)': myinit.cpp:(.text._ZN3FIX16FileStoreFactoryC2ERKNS_15SessionSettingsE[_ZN3FIX16FileStoreFactoryC5ERKNS_15SessionSettingsE]+0x18): undefined reference to `vtable for FIX::FileStoreFactory' /tmp/ccqcUJdt.o: In function `FIX::ScreenLogFactory::ScreenLogFactory(FIX::SessionSettings const&)': myinit.cpp:(.text._ZN3FIX16ScreenLogFactoryC2ERKNS_15SessionSettingsE[_ZN3FIX16ScreenLogFactoryC5ERKNS_15SessionSettingsE]+0x18): undefined reference to `vtable for FIX::ScreenLogFactory' /tmp/ccqcUJdt.o: In function `FIX::FileStoreFactory::~FileStoreFactory()': myinit.cpp:(.text._ZN3FIX16FileStoreFactoryD2Ev[_ZN3FIX16FileStoreFactoryD5Ev]+0xd): undefined reference to `vtable for FIX::FileStoreFactory' /tmp/ccqcUJdt.o: In function `FIX::ScreenLogFactory::~ScreenLogFactory()': myinit.cpp:(.text._ZN3FIX16ScreenLogFactoryD2Ev[_ZN3FIX16ScreenLogFactoryD5Ev]+0xd): undefined reference to `vtable for FIX::ScreenLogFactory' collect2: ld returned 1 exit status |
From: gtsafas <gt...@rb...> - 2010-01-09 08:33:15
|
I built a quickfix app using pretty much the example from the site I had a few questions as I am new to both c++ and quickfix, hopefully someone can help me. What should be going inside the while loop? I see the store directory get created but where is my log getting created? Do I have to do anything special to receive drop copies? Code below, Initiator.cpp #include "/opt/quickfix/include/quickfix/FileStore.h" #include "/opt/quickfix/include/quickfix/FileLog.h" #include "/opt/quickfix/include/quickfix/SocketInitiator.h" #include "/opt/quickfix/include/quickfix/SessionSettings.h" #include "/home/gt/SCRIPTS/GT-fix/MYAPP.h" #include <string> #include <iostream> #include <fstream> int main( int argc, char** argv ) { try { if ( argc < 2 ) return 1; std::string file = argv[1]; FIX::SessionSettings settings( file ); Application application; FIX::FileStoreFactory storeFactory(settings); FIX::ScreenLogFactory logFactory(settings); FIX::SocketInitiator initiator(application, storeFactory, settings, logFactory); initiator.start(); while ( true ) { std::cout << "CONNECTED" << std::endl; } initiator.stop(); return 0; } catch ( std::exception & e ) { std::cout << e.what() << std::endl; return 1; } } MYAPP.cpp #include "/home/gt/SCRIPTS/GT-fix/ROSNAPP.h" #include "/opt/quickfix/include/quickfix/Session.h" #include "/opt/quickfix/include/quickfix/MessageCracker.h" void Application::onLogon( const FIX::SessionID& sessionID ) {} void Application::onLogout( const FIX::SessionID& sessionID ) {} void Application::fromApp( const FIX::Message& message, const FIX::SessionID& sessionID ) throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::UnsupportedMessageType ) { crack(message, sessionID); } void Application::onMessage( const FIX42::NewOrderSingle& message, const FIX::SessionID& ) { FIX::ClOrdID clOrdID; FIX::ClearingAccount clearingAccount; message.get(clOrdID); message.get(clearingAccount); } /* void Application::onMessage( const FIX41::NewOrderSingle& message, const FIX::SessionID& ) { FIX::ClOrdID clOrdID; message.get(clOrdID); // compile time error!! field not defined in FIX41 FIX::ClearingAccount clearingAccount; message.get(clearingAccount); } void Application::onMessage( const FIX42::OrderCancelRequest& message, const FIX::SessionID& ) { FIX::ClOrdID clOrdID; message.get(clOrdID); // compile time error!! field not defined for OrderCancelRequest FIX::Price price; message.get(price); } */ -- View this message in context: http://old.nabble.com/Built-QuickFix-app%2C-where-is-the-log--tp27086370p27086370.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: gtsafas <gt...@rb...> - 2010-01-07 18:56:44
|
I was able to build with -c When I try g++ myinit.cpp MYAPP.cpp I get this new error /tmp/ccqcUJdt.o: In function `main': myinit.cpp:(.text+0x78): undefined reference to `FIX::SessionSettings::SessionSettings(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' myinit.cpp:(.text+0x111): undefined reference to `FIX::SocketInitiator::SocketInitiator(FIX::Application&, FIX::MessageStoreFactory&, FIX::SessionSettings const&, FIX::LogFactory&)' myinit.cpp:(.text+0x11d): undefined reference to `FIX::Initiator::start()' myinit.cpp:(.text+0x153): undefined reference to `FIX::SocketInitiator::~SocketInitiator()' /tmp/ccqcUJdt.o: In function `FIX::FileStoreFactory::FileStoreFactory(FIX::SessionSettings const&)': myinit.cpp:(.text._ZN3FIX16FileStoreFactoryC2ERKNS_15SessionSettingsE[_ZN3FIX16FileStoreFactoryC5ERKNS_15SessionSettingsE]+0x18): undefined reference to `vtable for FIX::FileStoreFactory' /tmp/ccqcUJdt.o: In function `FIX::ScreenLogFactory::ScreenLogFactory(FIX::SessionSettings const&)': myinit.cpp:(.text._ZN3FIX16ScreenLogFactoryC2ERKNS_15SessionSettingsE[_ZN3FIX16ScreenLogFactoryC5ERKNS_15SessionSettingsE]+0x18): undefined reference to `vtable for FIX::ScreenLogFactory' /tmp/ccqcUJdt.o: In function `FIX::FileStoreFactory::~FileStoreFactory()': myinit.cpp:(.text._ZN3FIX16FileStoreFactoryD2Ev[_ZN3FIX16FileStoreFactoryD5Ev]+0xd): undefined reference to `vtable for FIX::FileStoreFactory' /tmp/ccqcUJdt.o: In function `FIX::ScreenLogFactory::~ScreenLogFactory()': myinit.cpp:(.text._ZN3FIX16ScreenLogFactoryD2Ev[_ZN3FIX16ScreenLogFactoryD5Ev]+0xd): undefined reference to `vtable for FIX::ScreenLogFactory' collect2: ld returned 1 exit status gtsafas wrote: > > Thank you I have made that change, I am having a new compile issue perhaps > someone could help me with > g++ -c myinit.cpp MYAPP.cpp throws this > > > MYAPP.cpp: In function ‘void fromApp(const FIX::Message&, const > FIX::SessionID&)’: > MYAPP.cpp:9: error: ‘crack’ was not declared in this scope > MYAPP.cpp: In function ‘void onMessage(const FIX42::NewOrderSingle&, const > FIX::SessionID&)’: > MYAPP.cpp:15: error: invalid use of incomplete type ‘const struct > FIX42::NewOrderSingle’ > /opt/quickfix/include/quickfix/fix42/MessageCracker.h:58: error: forward > declaration of ‘const struct FIX42::NewOrderSingle’ > ROSNAPP.cpp:18: error: invalid use of incomplete type ‘const struct > FIX42::NewOrderSingle’ > /opt/quickfix/include/quickfix/fix42/MessageCracker.h:58: error: forward > declaration of ‘const struct FIX42::NewOrderSingle’ > MYAPP.cpp: In function ‘void onMessage(const FIX41::NewOrderSingle&, const > FIX::SessionID&)’: > MYAPP.cpp:24: error: invalid use of incomplete type ‘const struct > FIX41::NewOrderSingle’ > /opt/quickfix/include/quickfix/fix41/MessageCracker.h:44: error: forward > declaration of ‘const struct FIX41::NewOrderSingle’ > MYAPP.cpp:28: error: invalid use of incomplete type ‘const struct > FIX41::NewOrderSingle’ > /opt/quickfix/include/quickfix/fix41/MessageCracker.h:44: error: forward > declaration of ‘const struct FIX41::NewOrderSingle’ > MYAPP.cpp: In function ‘void onMessage(const FIX42::OrderCancelRequest&, > const FIX::SessionID&)’: > MYAPP.cpp:34: error: invalid use of incomplete type ‘const struct > FIX42::OrderCancelRequest’ > /opt/quickfix/include/quickfix/fix42/MessageCracker.h:62: error: forward > declaration of ‘const struct FIX42::OrderCancelRequest’ > MYAPP.cpp:38: error: invalid use of incomplete type ‘const struct > FIX42::OrderCancelRequest’ > /opt/quickfix/include/quickfix/fix42/MessageCracker.h:62: error: forward > declaration of ‘const struct FIX42::OrderCancelRequest’ > > > > Here is MYAPP.cpp > > > #include "/home/gt/SCRIPTS/GT-fix/MYAPP.h" > #include "/opt/quickfix/include/quickfix/Session.h" > #include "/opt/quickfix/include/quickfix/MessageCracker.h" > > void fromApp( const FIX::Message& message, const FIX::SessionID& > sessionID ) > throw( FIX::FieldNotFound&, FIX::IncorrectDataFormat&, > FIX::IncorrectTagValue&, FIX::UnsupportedMessageType& ) > { > crack(message, sessionID); > } > > void onMessage( const FIX42::NewOrderSingle& message, const > FIX::SessionID& ) > { > FIX::ClOrdID clOrdID; > message.get(clOrdID); > > FIX::ClearingAccount clearingAccount; > message.get(clearingAccount); > } > > void onMessage( const FIX41::NewOrderSingle& message, const > FIX::SessionID& ) > { > FIX::ClOrdID clOrdID; > message.get(clOrdID); > > // compile time error!! field not defined in FIX41 > FIX::ClearingAccount clearingAccount; > message.get(clearingAccount); > } > > void onMessage( const FIX42::OrderCancelRequest& message, const > FIX::SessionID& ) > { > FIX::ClOrdID clOrdID; > message.get(clOrdID); > > // compile time error!! field not defined for OrderCancelRequest > FIX::Price price; > message.get(price); > } > > > here is MYAPP.h > > > #include "/opt/quickfix/include/quickfix/Application.h" > #include "/opt/quickfix/include/quickfix/MessageCracker.h" > #include <queue> > #include <iostream> > > > > class MyApplication > > : public FIX::Application, > public FIX::MessageCracker > { > > > void onCreate( const FIX::SessionID& ) {} > void onLogon( const FIX::SessionID& sessionID ); > void onLogout( const FIX::SessionID& sessionID ); > > void toAdmin( FIX::Message&, const FIX::SessionID& ) {} > > void toApp( FIX::Message&, const FIX::SessionID& ) throw( > FIX::DoNotSend ) {} > > void fromAdmin( const FIX::Message&, const FIX::SessionID& ) > throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, > FIX::IncorrectTagValue, FIX::RejectLogon ) {} > > void fromApp( const FIX::Message& message, const FIX::SessionID& > sessionID ) > throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, > FIX::IncorrectTagValue, FIX::UnsupportedMessageType ); > > > void onMessage( const FIX42::NewOrderSingle& message, const > FIX::SessionID& ); > void onMessage( const FIX41::NewOrderSingle& message, const > FIX::SessionID& ); > void onMessage( const FIX42::OrderCancelRequest& message, const > FIX::SessionID& ); > > > > > }; > > > > I have not modified the original quickfix files, any help is greatly > appreciated. THANKS! > -- View this message in context: http://old.nabble.com/Socket-Initiator-build-error-tp27026921p27065131.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: gtsafas <gt...@rb...> - 2010-01-07 18:05:35
|
Thank you I have made that change, I am having a new compile issue perhaps someone could help me with g++ -c myinit.cpp MYAPP.cpp throws this MYAPP.cpp: In function ‘void fromApp(const FIX::Message&, const FIX::SessionID&)’: MYAPP.cpp:9: error: ‘crack’ was not declared in this scope MYAPP.cpp: In function ‘void onMessage(const FIX42::NewOrderSingle&, const FIX::SessionID&)’: MYAPP.cpp:15: error: invalid use of incomplete type ‘const struct FIX42::NewOrderSingle’ /opt/quickfix/include/quickfix/fix42/MessageCracker.h:58: error: forward declaration of ‘const struct FIX42::NewOrderSingle’ ROSNAPP.cpp:18: error: invalid use of incomplete type ‘const struct FIX42::NewOrderSingle’ /opt/quickfix/include/quickfix/fix42/MessageCracker.h:58: error: forward declaration of ‘const struct FIX42::NewOrderSingle’ MYAPP.cpp: In function ‘void onMessage(const FIX41::NewOrderSingle&, const FIX::SessionID&)’: MYAPP.cpp:24: error: invalid use of incomplete type ‘const struct FIX41::NewOrderSingle’ /opt/quickfix/include/quickfix/fix41/MessageCracker.h:44: error: forward declaration of ‘const struct FIX41::NewOrderSingle’ MYAPP.cpp:28: error: invalid use of incomplete type ‘const struct FIX41::NewOrderSingle’ /opt/quickfix/include/quickfix/fix41/MessageCracker.h:44: error: forward declaration of ‘const struct FIX41::NewOrderSingle’ MYAPP.cpp: In function ‘void onMessage(const FIX42::OrderCancelRequest&, const FIX::SessionID&)’: MYAPP.cpp:34: error: invalid use of incomplete type ‘const struct FIX42::OrderCancelRequest’ /opt/quickfix/include/quickfix/fix42/MessageCracker.h:62: error: forward declaration of ‘const struct FIX42::OrderCancelRequest’ MYAPP.cpp:38: error: invalid use of incomplete type ‘const struct FIX42::OrderCancelRequest’ /opt/quickfix/include/quickfix/fix42/MessageCracker.h:62: error: forward declaration of ‘const struct FIX42::OrderCancelRequest’ Here is MYAPP.cpp #include "/home/gt/SCRIPTS/GT-fix/MYAPP.h" #include "/opt/quickfix/include/quickfix/Session.h" #include "/opt/quickfix/include/quickfix/MessageCracker.h" void fromApp( const FIX::Message& message, const FIX::SessionID& sessionID ) throw( FIX::FieldNotFound&, FIX::IncorrectDataFormat&, FIX::IncorrectTagValue&, FIX::UnsupportedMessageType& ) { crack(message, sessionID); } void onMessage( const FIX42::NewOrderSingle& message, const FIX::SessionID& ) { FIX::ClOrdID clOrdID; message.get(clOrdID); FIX::ClearingAccount clearingAccount; message.get(clearingAccount); } void onMessage( const FIX41::NewOrderSingle& message, const FIX::SessionID& ) { FIX::ClOrdID clOrdID; message.get(clOrdID); // compile time error!! field not defined in FIX41 FIX::ClearingAccount clearingAccount; message.get(clearingAccount); } void onMessage( const FIX42::OrderCancelRequest& message, const FIX::SessionID& ) { FIX::ClOrdID clOrdID; message.get(clOrdID); // compile time error!! field not defined for OrderCancelRequest FIX::Price price; message.get(price); } here is MYAPP.h #include "/opt/quickfix/include/quickfix/Application.h" #include "/opt/quickfix/include/quickfix/MessageCracker.h" #include <queue> #include <iostream> class MyApplication : public FIX::Application, public FIX::MessageCracker { void onCreate( const FIX::SessionID& ) {} void onLogon( const FIX::SessionID& sessionID ); void onLogout( const FIX::SessionID& sessionID ); void toAdmin( FIX::Message&, const FIX::SessionID& ) {} void toApp( FIX::Message&, const FIX::SessionID& ) throw( FIX::DoNotSend ) {} void fromAdmin( const FIX::Message&, const FIX::SessionID& ) throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::RejectLogon ) {} void fromApp( const FIX::Message& message, const FIX::SessionID& sessionID ) throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::UnsupportedMessageType ); void onMessage( const FIX42::NewOrderSingle& message, const FIX::SessionID& ); void onMessage( const FIX41::NewOrderSingle& message, const FIX::SessionID& ); void onMessage( const FIX42::OrderCancelRequest& message, const FIX::SessionID& ); }; I have not modified the original quickfix files, any help is greatly appreciated. THANKS! -- View this message in context: http://old.nabble.com/Socket-Initiator-build-error-tp27026921p27064307.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: DA S. A. <ada...@ca...> - 2010-01-07 12:57:20
|
Hi, 1) I think you have a bug : std::string file = argv[0]; must be replaced with : std::string file = argv[1]; 2) For the compile time prb I think you forgot to put include on "Session.h" in your myapp.h Antonio. Le 06/01/2010 18:41, gtsafas a écrit : > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.htmlQuickFIX Support: http://www.quickfixengine.org/services.html > > I am using the following > > #include "/opt/quickfix/include/quickfix/FileStore.h"#include "/opt/quickfix/include/quickfix/FileLog.h"#include "/opt/quickfix/include/quickfix/SocketInitiator.h"#include "/opt/quickfix/include/quickfix/SessionSettings.h"#include "myapp.h"#include <string>#include <iostream>#include <fstream> > int main( int argc, char** argv ){ > try { > if ( argc < 2 ) return 1; std::string file = argv[0]; > FIX::SessionSettings settings( file ); > Application application; FIX::FileStoreFactory storeFactory(settings); FIX::ScreenLogFactory logFactory(settings); FIX::SocketInitiator initiator(application, storeFactory, settings,logFactory); > initiator.start(); while ( true ) { std::cout << "CONNECTED" << std::endl; } initiator.stop(); return 0; } catch ( std::exception & e ) { std::cout << e.what() << std::endl; return 1; }} > > > I am recieving the following error when building > > myapp.h:7: error: expected primary-expression before ‘public’myapp.h:7: error: ISO C++ forbids declaration of ‘type name’ with no typemyapp.h:7: error: expected ‘;’ before ‘public’fixcon.cpp: In function ‘int main(int, char**)’:fixcon.cpp:24: error: no matching function for call to‘FIX::SocketInitiator::SocketInitiator(MyApplication&,FIX::FileStoreFactory&, FIX::SessionSettings&, FIX::ScreenLogFactory&)’/opt/quickfix/include/quickfix/SocketInitiator.h:41: note: candidates are:FIX::SocketInitiator::SocketInitiator(FIX::Application&,FIX::MessageStoreFactory&, const FIX::SessionSettings&, FIX::LogFactory&)/opt/quickfix/include/quickfix/SocketInitiator.h:39: note: FIX::SocketInitiator::SocketInitiator(FIX::Application&,FIX::MessageStoreFactory&, const FIX::SessionSettings&)/opt/quickfix/include/quickfix/SocketInitiator.h:37: note: FIX::SocketInitiator::SocketInitiator(const FIX::SocketInitiator&) > > here is myapp.h > > #include "/opt/quickfix/include/quickfix/Application.h"#include "/opt/quickfix/include/quickfix/MessageCracker.h" > > class Application{ : public FIX::Application, public FIX::MessageCracker > void fromApp( const FIX::Message& message, const FIX::SessionID&sessionID ) throw( FIX::FieldNotFound&, FIX::IncorrectDataFormat&,FIX::IncorrectTagValue&, FIX::UnsupportedMessageType& ); void onMessage( const FIX42::NewOrderSingle& message, constFIX::SessionID& ); void onMessage( const FIX41::NewOrderSingle& message, constFIX::SessionID& ); void onMessage( const FIX42::OrderCancelRequest& message, constFIX::SessionID& ); }; > > -- View this message in context: http://old.nabble.com/Socket-Initiator-build-error-tp27026921p27026921.htmlSent from the QuickFIX - User mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------This SF.Net email is sponsored by the Verizon Developer CommunityTake advantage of Verizon's best-in-class app development supportA streamlined, 14 day to market process makes app distribution fast and easyJoin now and get one step closer to millions of Verizon customershttp://p.sf.net/sfu/verizon-dev2dev _______________________________________________Quickfix-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > |
From: gtsafas <gt...@rb...> - 2010-01-06 17:41:38
|
I am using the following #include "/opt/quickfix/include/quickfix/FileStore.h" #include "/opt/quickfix/include/quickfix/FileLog.h" #include "/opt/quickfix/include/quickfix/SocketInitiator.h" #include "/opt/quickfix/include/quickfix/SessionSettings.h" #include "myapp.h" #include <string> #include <iostream> #include <fstream> int main( int argc, char** argv ) { try { if ( argc < 2 ) return 1; std::string file = argv[0]; FIX::SessionSettings settings( file ); Application application; FIX::FileStoreFactory storeFactory(settings); FIX::ScreenLogFactory logFactory(settings); FIX::SocketInitiator initiator(application, storeFactory, settings, logFactory); initiator.start(); while ( true ) { std::cout << "CONNECTED" << std::endl; } initiator.stop(); return 0; } catch ( std::exception & e ) { std::cout << e.what() << std::endl; return 1; } } I am recieving the following error when building myapp.h:7: error: expected primary-expression before ‘public’ myapp.h:7: error: ISO C++ forbids declaration of ‘type name’ with no type myapp.h:7: error: expected ‘;’ before ‘public’ fixcon.cpp: In function ‘int main(int, char**)’: fixcon.cpp:24: error: no matching function for call to ‘FIX::SocketInitiator::SocketInitiator(MyApplication&, FIX::FileStoreFactory&, FIX::SessionSettings&, FIX::ScreenLogFactory&)’ /opt/quickfix/include/quickfix/SocketInitiator.h:41: note: candidates are: FIX::SocketInitiator::SocketInitiator(FIX::Application&, FIX::MessageStoreFactory&, const FIX::SessionSettings&, FIX::LogFactory&) /opt/quickfix/include/quickfix/SocketInitiator.h:39: note: FIX::SocketInitiator::SocketInitiator(FIX::Application&, FIX::MessageStoreFactory&, const FIX::SessionSettings&) /opt/quickfix/include/quickfix/SocketInitiator.h:37: note: FIX::SocketInitiator::SocketInitiator(const FIX::SocketInitiator&) here is myapp.h #include "/opt/quickfix/include/quickfix/Application.h" #include "/opt/quickfix/include/quickfix/MessageCracker.h" class Application { : public FIX::Application, public FIX::MessageCracker void fromApp( const FIX::Message& message, const FIX::SessionID& sessionID ) throw( FIX::FieldNotFound&, FIX::IncorrectDataFormat&, FIX::IncorrectTagValue&, FIX::UnsupportedMessageType& ); void onMessage( const FIX42::NewOrderSingle& message, const FIX::SessionID& ); void onMessage( const FIX41::NewOrderSingle& message, const FIX::SessionID& ); void onMessage( const FIX42::OrderCancelRequest& message, const FIX::SessionID& ); }; -- View this message in context: http://old.nabble.com/Socket-Initiator-build-error-tp27026921p27026921.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: gtsafas <gt...@rb...> - 2010-01-06 14:47:01
|
I am trying to use the example given on the QuickFix site to initiate a connection I am receiving the following error. I just wiped the tradeclient.cpp example thats given. cd ../.. && /bin/sh ./config.status examples/tradeclient/Makefile depfiles config.status: creating examples/tradeclient/Makefile config.status: executing depfiles commands if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I.. -g -O2 -Wall -ansi -Wpointer-arith -Wwrite-strings -I/usr/include/mysql -I/usr/mysql/include -I/usr/include/libxml2 -MT tradeclient.o -MD -MP -MF ".deps/tradeclient.Tpo" \ -c -o tradeclient.o `test -f 'tradeclient.cpp' || echo './'`tradeclient.cpp; \ then mv ".deps/tradeclient.Tpo" ".deps/tradeclient.Po"; \ else rm -f ".deps/tradeclient.Tpo"; exit 1; \ fi tradeclient.cpp: In function ‘int main(int, char**)’: tradeclient.cpp:19: error: ‘MyApplication’ was not declared in this scope tradeclient.cpp:19: error: expected ‘;’ before ‘application’ tradeclient.cpp:23: error: ‘application’ was not declared in this scope make: *** [tradeclient.o] Error 1 ----Here is the code -------- #include "quickfix/FileStore.h" #include "quickfix/FileLog.h" #include "quickfix/SocketInitiator.h" #include "quickfix/Session.h" #include "quickfix/SessionSettings.h" #include "quickfix/Application.h" using namespace std; using namespace FIX; int main( int argc, char** argv ) { try { if(argc < 2) return 1; string fileName = argv[0]; SessionSettings settings(fileName); MyApplication application; FileStoreFactory storeFactory(settings); FileLogFactory logFactory(settings); SocketInitiator initiator (application, storeFactory, settings, logFactory); initiator.start(); // while(true) { do something } initiator.stop(); return 0; } catch(ConfigError& e) { cout << e.what(); return 1; } } Thank you ahead of time -- View this message in context: http://old.nabble.com/C%2B%2B-QuickFix-tp27026881p27026881.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Kenny S. <ks...@co...> - 2010-01-06 14:10:36
|
libxml2-dev needs to be installed. -- Kenny Stone Connamara Systems, LLC On Wed, Jan 6, 2010 at 5:35 AM, Clebson Derivan Ferreira Paz < Cle...@cm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hei Chan, > > It seems like g++ is not finding libxml, do you have it installed ? check > on g++ command line if it add "-lxml" flag. > > Cheers, > Clebson > > -----Mensagem original----- > De: Hei Chan [mailto:str...@ya...] > Enviada em: segunda-feira, 4 de janeiro de 2010 20:53 > Para: qui...@li...; > qui...@li... > Assunto: [Quickfix-developers] build issue > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |