编译并使用quickfix做demo时的一些问题和解决<Linux C++>

9 篇文章 0 订阅

1、编译Linux libquickfix.so
问题描述:
a.将windows下的使用编译工程上传到Linux,并按git官网给的编译步骤编译,./boostrap报错,文件存在格式问题

解决:windows下脚本文件移植Linux存在格式问题,需要dos2unix处理;

b.解决a问题后发现,需要安装libtool,安装之后重新执行,出现问题configure.ac文件存在.ibtoolize: AC_CONFIG_MACRO_DIR([./aclocal]) conflicts with ACLOCAL_AMFLAGS=-I ./aclocal,不确定是什么问题?

解决:在确定configure.ac文件无法通过dos2unix调整(确实存在
AC_CONFIG_MACRO_DIR这个语句需要执行),发现不能使用windows下载的编译工程,重新去找可以在Linux下编译的工程文件包,找到了需要"安全上网"的链接下载:
https://sourceforge.net/projects/quickfix/files/quickfix/1.15.1/quickfix-1.15.1.tar.gz/;

c.再次编译,前几步骤没问题,make报错;提示libtool版本问题——“libtool: Version mismatch error”

解决:
在这里插入图片描述d.编译libquickfix.so成功

2、使用Linux libquickfix.so做demo
说明:建议先在windows下调通demo,毕竟gdb下调试环境比较恶劣;demo实现quickfix的业务段,去接到服务器某接口数据即表示成功。
demo只有一个头文件,一个执行文件,比较简单;

a.发现windows下编译demo成功,Linux编译报错;问题如图:
在这里插入图片描述
解决:
发现在头文件在做fromApp()声明的时候没有加throw(…);加完如下表示,编译demo成功;
编译命令:g++ -O3 -Wall -std=c++11 -I./include quickfixClient.cpp -o demo -L./ -lquickfix -Wl,-rpath=./

	///每个应用级别的消息将通过该方法处理,如委托指令,执行报告,证券信息以及市场数据。
    virtual void fromApp( const FIX::Message& message, const FIX::SessionID& sessionID)
		throw(FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::UnsupportedMessageType);

把配置加好,执行demo,如图可以收到了数据了~~~
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值