linux CTP 编译 问题
方法一
COPY两个*.so文件至上一层,并且为了使得g++编译器能识别两个*.so,要加上"lib"前缀:libthostmduserapi.so libthosttraderapi.so
$ export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
$ g++ testMdApi.cpp -L. -lthostmduserapi -lthosttraderapi -o main
方法二
拷贝libthostmduserapi.so libthosttraderapi.so 到/usr/lib64 或/usr/lib 目录
拷贝4个头文件 到 /usr/include 目录,
cat hello.cpp
-----------------------------
#include "hello.h"
int main(){
// 这里访问了CTP的库函数,如果程序能过正常编译并执行,说明头文件引用及库连接正常
CThostFtdcMdApi *pUserApi = CThostFtdcMdApi::CreateFtdcMdApi();
printf("Hello CTP!\n");
return 0;
}
cat hello.h
----------------
#include <stdio.h>
#include <ThostFtdcMdApi.h>
cat Makefile
------------------------
all : *.cpp *.h
g++ *.cpp /etc/ctp/lib/*.so -o hello
clean :
rm -f *.o *.out *.con hello
-------------------------------
如上三个文件即可调用ctp函数并且完成编译