当前位置: 首页 > 工具软件 > Build CC > 使用案例 >

Rust :CC编译

苏边浩
2023-12-01

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"

可能是不一样的,编译器可能找不到。

 类似资料: