1、准备g++
如果没有,请下载。
安装g++,
sudo apt-get install g++
用g++ --version查看g++版本,类似下面,表明环境已经准备好
songroom@DESKTOP-MEDPUTU:~/rust_new_test$ g++ --version
g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
2、cc库
toml文件
[build-dependencies]
cc = "1.0"
3、代码
fn main() {
check_arch();
cc::Build::new()
.file("src/bridge/bridge.cpp")
.cpp(true)
.warnings(false)
.flag("-std=c++11")
.compile("bridge");
}
注意:
文件路径问题,比如,bridge.hpp中有:
#include "../../ctp-sdk/ThostFtdcMdApi.h"
#include "../../ctp-sdk/ThostFtdcTraderApi.h"
#include "../../ctp-sdk/ThostFtdcUserApiDataType.h"
#include "../../ctp-sdk/ThostFtdcUserApiStruct.h"
extern "C" CThostFtdcMdApi::CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp = false, const bool bIsMulticast = false);
extern "C" const char *GetApiVersion(CThostFtdcMdApi::CThostFtdcMdApi *self);
extern "C" void Release(CThostFtdcMdApi::CThostFtdcMdApi *self);
extern "C" void Init(CThostFtdcMdApi::CThostFtdcMdApi *self);
如果写成:
#include "../ctp-sdk/ThostFtdcMdApi.h"
可能是不一样的,编译器可能找不到。