Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
barry cho
Hikyuu
Commits
96a33080
Commit
96a33080
authored
4 years ago
by
fasiondog
Browse files
Options
Download
Email Patches
Plain Diff
update for strategy trade
parent
816557a3
master
develop
simd
1.2.3
1.2.1
1.2.0
1.1.9
No related merge requests found
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
hikyuu_cpp/hikyuu/strategy/AccountTradeManager.cpp
+1
-1
hikyuu_cpp/hikyuu/strategy/AccountTradeManager.cpp
hikyuu_cpp/hikyuu/strategy/AccountTradeManager.h
+467
-0
hikyuu_cpp/hikyuu/strategy/AccountTradeManager.h
hikyuu_cpp/hikyuu/strategy/StrategyTradeManager.h
+0
-20
hikyuu_cpp/hikyuu/strategy/StrategyTradeManager.h
hikyuu_cpp/hikyuu/trade_manage/TradeManager.cpp
+0
-8
hikyuu_cpp/hikyuu/trade_manage/TradeManager.cpp
hikyuu_cpp/hikyuu/trade_manage/TradeManager.h
+1
-12
hikyuu_cpp/hikyuu/trade_manage/TradeManager.h
hikyuu_cpp/hikyuu/trade_manage/TradeManagerBase.h
+14
-10
hikyuu_cpp/hikyuu/trade_manage/TradeManagerBase.h
xmake.lua
+0
-1
xmake.lua
with
483 additions
and
52 deletions
+483
-52
hikyuu_cpp/hikyuu/strategy/
Strategy
TradeManager.cpp
→
hikyuu_cpp/hikyuu/strategy/
Account
TradeManager.cpp
+
1
-
1
View file @
96a33080
...
...
@@ -5,6 +5,6 @@
* Author: fasiondog
*/
#include
"
Strategy
TradeManager.h"
#include
"
Account
TradeManager.h"
namespace
hku
{}
// namespace hku
\ No newline at end of file
This diff is collapsed.
Click to expand it.
hikyuu_cpp/hikyuu/strategy/AccountTradeManager.h
0 → 100644
+
467
-
0
View file @
96a33080
/*
* Copyright(C) 2021 hikyuu.org
*
* Create on: 2021-03-23
* Author: fasiondog
*/
#pragma once
#include
"../trade_manage/TradeManagerBase.h"
namespace
hku
{
class
HKU_API
AccountTradeManager
:
public
TradeManagerBase
{
public:
AccountTradeManager
()
=
default
;
AccountTradeManager
(
const
string
&
name
)
:
TradeManagerBase
(
name
,
TC_Zero
())
{}
virtual
~
AccountTradeManager
()
=
default
;
virtual
void
_reset
()
override
{}
virtual
shared_ptr
<
TradeManagerBase
>
_clone
()
override
{
return
std
::
make_shared
<
AccountTradeManager
>
();
}
/**
* 获取指定对象的保证金比率
* @param datetime 日期
* @param stock 指定对象
*/
virtual
double
getMarginRate
(
const
Datetime
&
datetime
,
const
Stock
&
stock
)
override
{
HKU_WARN
(
"The subclass does not implement a getMarginRate method"
);
return
0.0
;
}
/** 初始资金 */
virtual
price_t
initCash
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0.0
;
}
/** 账户建立日期 */
virtual
Datetime
initDatetime
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
Datetime
();
}
/** 第一笔买入交易发生日期,如未发生交易返回Null<Datetime>() */
virtual
Datetime
firstDatetime
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
Datetime
();
}
/** 最后一笔交易日期,注意和交易类型无关,如未发生交易返回账户建立日期 */
virtual
Datetime
lastDatetime
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
Datetime
();
}
/**
* 返回当前现金
* @note 仅返回当前信息,不会根据权息进行调整
*/
virtual
price_t
currentCash
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0.0
;
}
/**
* 获取指定日期的现金
* @note 如果不带日期参数,无法根据权息信息调整持仓
*/
virtual
price_t
cash
(
const
Datetime
&
datetime
,
KQuery
::
KType
ktype
=
KQuery
::
DAY
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0.0
;
}
/**
* 当前是否持有指定的证券
* @note 这里未使用日期参数,必须保证是按日期顺序执行
* @param stock 指定证券
* @return true 是 | false 否
*/
virtual
bool
have
(
const
Stock
&
stock
)
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 当前空头仓位是否持有指定的证券
* @note 这里未使用日期参数,必须保证是按日期顺序执行
* @param stock 指定证券
* @return true 是 | false 否
*/
virtual
bool
haveShort
(
const
Stock
&
stock
)
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/** 当前持有的证券种类数量 */
virtual
size_t
getStockNumber
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0
;
}
/** 当前空头持有的证券种类数量 */
virtual
size_t
getShortStockNumber
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0
;
}
/** 获取指定时刻的某证券持有数量 */
virtual
double
getHoldNumber
(
const
Datetime
&
datetime
,
const
Stock
&
stock
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0.0
;
}
/** 获取指定时刻的空头某证券持有数量 */
virtual
double
getShortHoldNumber
(
const
Datetime
&
datetime
,
const
Stock
&
stock
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0.0
;
}
/** 获取指定时刻已借入的股票数量 */
virtual
double
getDebtNumber
(
const
Datetime
&
datetime
,
const
Stock
&
stock
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0.0
;
}
/** 获取指定时刻已借入的现金额 */
virtual
price_t
getDebtCash
(
const
Datetime
&
datetime
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
0.0
;
}
/** 获取全部交易记录 */
virtual
TradeRecordList
getTradeList
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
TradeRecordList
();
}
/**
* 获取指定日期范围内的交易记录[start, end)
* @param start 起始日期
* @param end 结束日期
* @return 交易记录列表
*/
virtual
TradeRecordList
getTradeList
(
const
Datetime
&
start
,
const
Datetime
&
end
)
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
TradeRecordList
();
}
/** 获取当前全部持仓记录 */
virtual
PositionRecordList
getPositionList
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PositionRecordList
();
}
/** 获取全部历史持仓记录,即已平仓记录 */
virtual
PositionRecordList
getHistoryPositionList
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PositionRecordList
();
}
/** 获取当前全部空头仓位记录 */
virtual
PositionRecordList
getShortPositionList
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PositionRecordList
();
}
/** 获取全部空头历史仓位记录 */
virtual
PositionRecordList
getShortHistoryPositionList
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PositionRecordList
();
}
/** 获取指定证券的当前持仓记录,如当前未持有该票,返回Null<PositionRecord>() */
virtual
PositionRecord
getPosition
(
const
Stock
&
)
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PositionRecord
();
}
/** 获取指定证券的当前空头仓位持仓记录,如当前未持有该票,返回Null<PositionRecord>() */
virtual
PositionRecord
getShortPosition
(
const
Stock
&
)
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PositionRecord
();
}
/** 获取当前借入的股票列表 */
virtual
BorrowRecordList
getBorrowStockList
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
BorrowRecordList
();
}
/**
* 存入资金
* @param datetime 存入时间
* @param cash 存入的资金量
* @return true | false
*/
virtual
bool
checkin
(
const
Datetime
&
datetime
,
price_t
cash
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 取出资金
* @param datetime 取出时间
* @param cash 取出的资金量
* @return true | false
*/
virtual
bool
checkout
(
const
Datetime
&
datetime
,
price_t
cash
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 存入资产
* @param datetime 存入日期
* @param stock 待存入的股票
* @param price 存入股票的每股价格
* @param number 存入股票的数量
* @return true | false
*/
virtual
bool
checkinStock
(
const
Datetime
&
datetime
,
const
Stock
&
stock
,
price_t
price
,
double
number
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 取出当前资产
* @param datetime 取出日期
* @param stock 待取出的股票
* @param price 取出的每股价格
* @param number 取出的数量
* @return true | false
* @note 应该不会被用到
*/
virtual
bool
checkoutStock
(
const
Datetime
&
datetime
,
const
Stock
&
stock
,
price_t
price
,
double
number
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 买入操作
* @param datetime 买入时间
* @param stock 买入的证券
* @param realPrice 实际买入价格
* @param number 买入数量
* @param stoploss 止损价
* @param goalPrice 目标价格
* @param planPrice 计划买入价格
* @param from 记录是哪个系统部件发出的买入指示
* @return 返回对应的交易记录,如果操作失败,business等于BUSINESS_INVALID
*/
virtual
TradeRecord
buy
(
const
Datetime
&
datetime
,
const
Stock
&
stock
,
price_t
realPrice
,
double
number
,
price_t
stoploss
=
0.0
,
price_t
goalPrice
=
0.0
,
price_t
planPrice
=
0.0
,
SystemPart
from
=
PART_INVALID
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
TradeRecord
();
}
/**
* 卖出操作
* @param datetime 卖出时间
* @param stock 卖出的证券
* @param realPrice 实际卖出价格
* @param number 卖出数量,如果是 MAX_DOUBLE, 表示全部卖出
* @param stoploss 新的止损价
* @param goalPrice 新的目标价格
* @param planPrice 原计划卖出价格
* @param from 记录是哪个系统部件发出的卖出指示
* @return 返回对应的交易记录,如果操作失败,business等于BUSINESS_INVALID
*/
virtual
TradeRecord
sell
(
const
Datetime
&
datetime
,
const
Stock
&
stock
,
price_t
realPrice
,
double
number
=
MAX_DOUBLE
,
price_t
stoploss
=
0.0
,
price_t
goalPrice
=
0.0
,
price_t
planPrice
=
0.0
,
SystemPart
from
=
PART_INVALID
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
TradeRecord
();
}
/**
* 卖空
* @param datetime 卖空时间
* @param stock 卖空的证券
* @param realPrice 实际卖空价格
* @param number 卖出数量
* @param stoploss 止损价
* @param goalPrice 目标价格
* @param planPrice 计划卖空价格
* @param from 记录是哪个系统部件发出的买入指示
* @return 返回对应的交易记录,如果操作失败,business等于BUSINESS_INVALID
*/
virtual
TradeRecord
sellShort
(
const
Datetime
&
datetime
,
const
Stock
&
stock
,
price_t
realPrice
,
double
number
,
price_t
stoploss
=
0.0
,
price_t
goalPrice
=
0.0
,
price_t
planPrice
=
0.0
,
SystemPart
from
=
PART_INVALID
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
TradeRecord
();
}
/**
* 卖空后回补
* @param datetime 买入时间
* @param stock 买入的证券
* @param realPrice 实际买入价格
* @param number 卖出数量,如果是 MAX_DOUBLE, 表示全部卖出
* @param stoploss 止损价
* @param goalPrice 目标价格
* @param planPrice 计划买入价格
* @param from 记录是哪个系统部件发出的卖出指示
* @return 返回对应的交易记录,如果操作失败,business等于BUSINESS_INVALID
*/
virtual
TradeRecord
buyShort
(
const
Datetime
&
datetime
,
const
Stock
&
stock
,
price_t
realPrice
,
double
number
=
MAX_DOUBLE
,
price_t
stoploss
=
0.0
,
price_t
goalPrice
=
0.0
,
price_t
planPrice
=
0.0
,
SystemPart
from
=
PART_INVALID
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
TradeRecord
();
}
/**
* 借入资金,从其他来源借取的资金,如融资
* @param datetime 借入时间
* @param cash 借入的现金
* @return true | false
*/
virtual
bool
borrowCash
(
const
Datetime
&
datetime
,
price_t
cash
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 归还资金
* @param datetime 归还日期
* @param cash 归还现金
* @return true | false
*/
virtual
bool
returnCash
(
const
Datetime
&
datetime
,
price_t
cash
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 借入证券
* @param datetime 借入时间
* @param stock 借入的stock
* @param price 借入时单股价格
* @param number 借入时数量
* @return true | false
*/
virtual
bool
borrowStock
(
const
Datetime
&
datetime
,
const
Stock
&
stock
,
price_t
price
,
double
number
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 归还证券
* @param datetime 归还时间
* @param stock 归还的stock
* @param price 归还时单股价格
* @param number 归还数量
* @return true | false
*/
virtual
bool
returnStock
(
const
Datetime
&
datetime
,
const
Stock
&
stock
,
price_t
price
,
double
number
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/**
* 获取账户当前时刻的资产详情
* @param ktype 日期的类型
* @return 资产详情
*/
virtual
FundsRecord
getFunds
(
KQuery
::
KType
ktype
=
KQuery
::
DAY
)
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
FundsRecord
();
}
/**
* 获取指定时刻的资产市值详情
* @param datetime 必须大于帐户建立的初始日期,或为Null<Datetime>()
* @param ktype 日期的类型
* @return 资产详情
* @note 当datetime等于Null<Datetime>()时,与getFunds(KType)同
*/
virtual
FundsRecord
getFunds
(
const
Datetime
&
datetime
,
KQuery
::
KType
ktype
=
KQuery
::
DAY
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
FundsRecord
();
}
/**
* 获取资产净值曲线,含借入的资产
* @param dates 日期列表,根据该日期列表获取其对应的资产净值曲线
* @param ktype K线类型,必须与日期列表匹配,默认KQuery::DAY
* @return 资产净值列表
*/
virtual
PriceList
getFundsCurve
(
const
DatetimeList
&
dates
,
KQuery
::
KType
ktype
=
KQuery
::
DAY
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PriceList
();
}
/**
* 获取从账户建立日期到系统当前日期的资产净值曲线(按自然日),含借入的资产
* @return 资产净值列表
*/
virtual
PriceList
getFundsCurve
()
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PriceList
();
}
/**
* 获取收益曲线,即扣除历次存入资金后的资产净值曲线
* @param dates 日期列表,根据该日期列表获取其对应的收益曲线,应为递增顺序
* @param ktype K线类型,必须与日期列表匹配,默认为KQuery::DAY
* @return 收益曲线
*/
virtual
PriceList
getProfitCurve
(
const
DatetimeList
&
dates
,
KQuery
::
KType
ktype
=
KQuery
::
DAY
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PriceList
();
}
/**
* 获取获取从账户建立日期到系统当前日期的收益曲线,即扣除历次存入资金后的资产净值曲线
* @return 收益曲线
*/
virtual
PriceList
getProfitCurve
()
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
PriceList
();
}
/**
* 直接加入交易记录
* @note 如果加入初始化账户记录,将清除全部已有交易及持仓记录
* @param tr 待加入的交易记录
* @return bool true 成功 | false 失败
*/
virtual
bool
addTradeRecord
(
const
TradeRecord
&
tr
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
false
;
}
/** 字符串输出 */
virtual
string
str
()
const
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
return
string
();
}
/**
* 以csv格式输出交易记录、未平仓记录、已平仓记录、资产净值曲线
* @param path 输出文件所在目录
*/
virtual
void
tocsv
(
const
string
&
path
)
override
{
HKU_WARN
(
"The subclass does not implement this method"
);
}
};
}
// namespace hku
\ No newline at end of file
This diff is collapsed.
Click to expand it.
hikyuu_cpp/hikyuu/strategy/StrategyTradeManager.h
deleted
100644 → 0
+
0
-
20
View file @
816557a3
/*
* Copyright(C) 2021 hikyuu.org
*
* Create on: 2021-03-23
* Author: fasiondog
*/
#pragma once
#include
"../trade_manage/TradeManagerBase.h"
namespace
hku
{
class
HKU_API
StrategyTradeManager
:
public
TradeManagerBase
{
public:
StrategyTradeManager
()
=
default
;
virtual
~
StrategyTradeManager
()
=
default
;
};
}
// namespace hku
\ No newline at end of file
This diff is collapsed.
Click to expand it.
hikyuu_cpp/hikyuu/trade_manage/TradeManager.cpp
+
0
-
8
View file @
96a33080
...
...
@@ -152,14 +152,6 @@ TradeManagerPtr TradeManager::_clone() {
return
TradeManagerPtr
(
p
);
}
void
TradeManager
::
regBroker
(
const
OrderBrokerPtr
&
broker
)
{
m_broker_list
.
push_back
(
broker
);
}
void
TradeManager
::
clearBroker
()
{
m_broker_list
.
clear
();
}
double
TradeManager
::
getMarginRate
(
const
Datetime
&
datetime
,
const
Stock
&
stock
)
{
// TODO 获取保证金比率,默认固定取60%
return
0.6
;
...
...
This diff is collapsed.
Click to expand it.
hikyuu_cpp/hikyuu/trade_manage/TradeManager.h
+
1
-
12
View file @
96a33080
...
...
@@ -51,17 +51,6 @@ public:
/** 复位,清空交易、持仓记录 */
virtual
void
_reset
()
override
;
/**
* 注册订单代理
* @param broker 订单代理实例
*/
virtual
void
regBroker
(
const
OrderBrokerPtr
&
broker
)
override
;
/**
* 清空已注册的订单代理
*/
virtual
void
clearBroker
()
override
;
virtual
shared_ptr
<
TradeManagerBase
>
_clone
()
override
;
/**
...
...
@@ -437,7 +426,7 @@ private:
position_map_type
m_short_position
;
//空头仓位记录
PositionRecordList
m_short_position_history
;
//空头仓位历史记录
list
<
OrderBrokerPtr
>
m_broker_list
;
//订单代理列表
//
list<OrderBrokerPtr> m_broker_list; //订单代理列表
// Datetime m_broker_last_datetime; //订单代理最近一次执行操作的时刻
list
<
string
>
m_actions
;
//记录交易动作,便于修改或校准实盘时的交易
...
...
This diff is collapsed.
Click to expand it.
hikyuu_cpp/hikyuu/trade_manage/TradeManagerBase.h
+
14
-
10
View file @
96a33080
...
...
@@ -40,7 +40,7 @@ public:
TradeManagerBase
()
:
TradeManagerBase
(
""
,
TC_Zero
())
{}
TradeManagerBase
(
const
string
&
name
,
const
TradeCostPtr
&
costFunc
)
:
m_name
(
name
),
m_broker_last_datetime
(
Datetime
::
now
())
,
m_costfunc
(
costFunc
)
{
:
m_name
(
name
),
m_costfunc
(
costFunc
),
m_broker_last_datetime
(
Datetime
::
now
())
{
setParam
<
int
>
(
"precision"
,
2
);
//计算精度
}
...
...
@@ -186,15 +186,15 @@ public:
* 注册订单代理
* @param broker 订单代理实例
*/
virtual
void
regBroker
(
const
OrderBrokerPtr
&
broker
)
{
HKU_WARN
(
"The subclass does not implement a regBroker method"
);
void
regBroker
(
const
OrderBrokerPtr
&
broker
)
{
m_broker_list
.
push_back
(
broker
);
}
/**
* 清空已注册的订单代理
*/
virtual
void
clearBroker
()
{
HKU_WARN
(
"The subclass does not implement a clearBroker method"
);
void
clearBroker
()
{
m_broker_list
.
clear
(
);
}
/**
...
...
@@ -633,9 +633,11 @@ public:
}
protected:
string
m_name
;
//账户名称
Datetime
m_broker_last_datetime
;
// 当前启动运行时间
TradeCostPtr
m_costfunc
;
//成本算法
string
m_name
;
// 账户名称
TradeCostPtr
m_costfunc
;
// 成本算法
Datetime
m_broker_last_datetime
;
// 订单代理最近一次执行操作的时刻,当前启动运行时间
list
<
OrderBrokerPtr
>
m_broker_list
;
// 订单代理列表
//============================================
// 序列化支持
...
...
@@ -647,16 +649,18 @@ private:
void
save
(
Archive
&
ar
,
const
unsigned
int
version
)
const
{
ar
&
BOOST_SERIALIZATION_NVP
(
m_params
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_name
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_broker_last_datetime
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_costfunc
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_broker_last_datetime
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_broker_list
);
}
template
<
class
Archive
>
void
load
(
Archive
&
ar
,
const
unsigned
int
version
)
{
ar
&
BOOST_SERIALIZATION_NVP
(
m_params
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_name
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_broker_last_datetime
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_costfunc
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_broker_last_datetime
);
ar
&
BOOST_SERIALIZATION_NVP
(
m_broker_list
);
}
BOOST_SERIALIZATION_SPLIT_MEMBER
()
...
...
This diff is collapsed.
Click to expand it.
xmake.lua
+
0
-
1
View file @
96a33080
...
...
@@ -40,7 +40,6 @@ add_requires("fmt", {system=false, configs = {header_only = true, vs_runtime = "
add_requires
(
"spdlog"
,
{
system
=
false
,
configs
=
{
header_only
=
true
,
fmt_external
=
true
,
vs_runtime
=
"MD"
}})
add_requires
(
"flatbuffers"
,
{
system
=
false
,
configs
=
{
vs_runtime
=
"MD"
}})
add_requires
(
"nng"
,
{
system
=
false
,
configs
=
{
vs_runtime
=
"MD"
}})
add_requires
(
"yyjson"
,
{
system
=
false
,
configs
=
{
vs_runtime
=
"MD"
}})
add_defines
(
"SPDLOG_DISABLE_DEFAULT_LOGGER"
)
-- 禁用 spdlog 默认 logger
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help