Rust :CC编译

    科技2025-05-28  79

    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"

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

    Processed: 0.013, SQL: 8