本人的Gurobi安装在 C:\gurobi901,VS版本为2019。如有不同,请自行调整。
为了便于适应 Gurobi不同库的引入,编写了如下h文件:
Use_Curobi_Win64_C++.h
#ifndef C__gurobi901_win64_lib
#define C__gurobi901_win64_lib
#include "C:\gurobi901\win64\include\gurobi_c++.h"
#pragma comment(lib,"C:\\gurobi901\\win64\\lib\\gurobi90.lib")
#ifdef _DEBUG
#ifdef _DLL
#pragma comment(lib,"C:\\gurobi901\\win64\\lib\\gurobi_c++mdd2019.lib")
#else
#pragma comment(lib,"C:\\gurobi901\\win64\\lib\\gurobi_c++mtd2019.lib")
#endif // _DLL
#else
#ifdef _DLL
#pragma comment(lib,"C:\\gurobi901\\win64\\lib\\gurobi_c++md2019.lib")
#else
#pragma comment(lib,"C:\\gurobi901\\win64\\lib\\gurobi_c++mt2019.lib")
#endif // _DLL
#endif //DEBUG
#endif //C__gurobi901_win64_lib
只要包含这个h文件,就能自动匹配Debug、Release、MT、MD的变化了。
另外,Gurobi的gurobi_c++.h文件中,原型函数
GRBVar* addVars(const double* lb, const double* ub, const double* obj, const char* type, const std::string* name, int len);
可用于申明数组型变量。
刚刚开始学习QT,在QT的Qt Creator中如何自动匹配不同编译选项,还不知道,有请高手指点!