Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >包括C++中的Gurobi

包括C++中的Gurobi
EN

Stack Overflow用户
提问于 2022-08-08 07:46:43
回答 1查看 58关注 0票数 0

我目前正在尝试将Gurobi库包含在我的C++项目中。我使用CLion作为我的IDE,因此我将CMakeLists.txt更改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmake_minimum_required(VERSION 3.17)
project(test_gurobi)

set(CMAKE_CXX_STANDARD 14)

include_directories("/opt/gurobi951/linux64/include")

add_executable(test_gurobi main.cpp)

target_link_libraries(test_gurobi "/opt/gurobi951/linux64/lib/libgurobi95.so")
target_link_libraries(test_gurobi "/opt/gurobi951/linux64/lib/libgurobi_c++.a")

在我看来应该管用的。但是,下面是最简单的示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "gurobi_c++.h"

using namespace std;

int main(int argc, char *argv[]) {

    GRBEnv env = GRBEnv(true);
    return 0;
}

由于我的main.cpp在编译时会产生以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/bin/ld: /opt/gurobi951/linux64/lib/libgurobi_c++.a(Env.o): in function `GRBEnv::~GRBEnv()':
Env.cpp:(.text+0x2c): undefined reference to `GRBfreeenv'
/usr/bin/ld: /opt/gurobi951/linux64/lib/libgurobi_c++.a(Env.o): in function `GRBEnv::getErrorMsg() const':
Env.cpp:(.text+0x5c): undefined reference to `GRBgeterrormsg'
/usr/bin/ld: /opt/gurobi951/linux64/lib/libgurobi_c++.a(Env.o): in function `GRBEnv::GRBEnv(bool)':
Env.cpp:(.text+0xe3): undefined reference to `GRBemptyenvadv'
/usr/bin/ld: Env.cpp:(.text+0x18a): undefined reference to `GRBloadenvadv'
/usr/bin/ld: Env.cpp:(.text+0x1ae): undefined reference to `GRBfreeenv'

.
.
.

Env.cpp:(.text+0x15c4): undefined reference to `GRBwriteparams'
/usr/bin/ld: /opt/gurobi951/linux64/lib/libgurobi_c++.a(Env.o): in function `GRBEnv::readParams(std::string const&)':
Env.cpp:(.text+0x1674): undefined reference to `GRBreadparams'
/usr/bin/ld: /opt/gurobi951/linux64/lib/libgurobi_c++.a(Env.o): in function `GRBEnv::message(std::string const&)':
Env.cpp:(.text+0x47): undefined reference to `GRBmsg'
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/test_gurobi.dir/build.make:106: test_gurobi] Error 1
make[2]: *** [CMakeFiles/Makefile2:96: CMakeFiles/test_gurobi.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:103: CMakeFiles/test_gurobi.dir/rule] Error 2
make: *** [Makefile:138: test_gurobi] Error 2

有人知道为什么我的代码不编译吗?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2022-08-16 10:37:49

请尝试为Gurobi:如何使用CMake构建Gurobi /C++项目?提供的C/C++项目使用官方的如何使用CMake构建Gurobi /C++项目?文件

本指南包括一个FindGUROBI.cmake和一个CMakeLists.txt示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73280681

复制
相关文章
Gurobi Optimizer 安装记录
最近需要使用 Gurobi Optimizer 这个商业优化器进行做一个项目;下面对安装Gurobi的过程进行简要记录:
西湖醋鱼
2021/01/26
1.1K0
干货 | 运筹学、数学规划、离散优化求解器大PK,总有一款适合你
CPLEX 是IBM公司的一个优化引擎。软件IBM ILOG CPLEX Optimization Studio中自带该优化引擎。该软件具有执行速度快、其自带的语言简单易懂、并且与众多优化软件及语言兼容(与C++,JAVA,EXCEL,Matlab等都有接口),因此在西方国家应用十分广泛。由于在中国还刚刚全面推广不久,因此应用还不是很广,但是发展空间很大。
用户1621951
2019/10/18
26.5K2
干货 | 运筹学、数学规划、离散优化求解器大PK,总有一款适合你
Spring JDBC中NamedParameterJdbcTemplate的使用,包括in的用法
前言 项目中使用到了Spring JDBC, 一般jdbcTemplate基本可以满足我们的需求,我们可以通过?占位符来传参,方式sql注入。 例如: @Override public bo
码农飞哥
2021/03/21
3.9K0
【C++】C++中的类型转化
说起类型转化,我们在C语言之前的学习中可以了解到,类型转换可以分为两种情况:隐式类型转化;显示类型转化。但是为什么在c++中还要继续对类型转化做文章呢?我们一起来看:
The sky
2023/04/30
1.1K0
【C++】C++中的类型转化
C++中的多态
多态换句话来说就是多种形态,具体点就是不同的对象去完成某一个行为时会产生不同的状态。比如买票这个行为,成年人去买是全价,未成年人去买是半价,而军人去买则是优先购票。
二肥是只大懒蓝猫
2023/03/30
8540
C++中的多态
C++ 中 :: 的用法
这是作用域,如果想在类的外部引用静态成员函数,或在类的外部定义成员函数都要用到。使用命名空间里的类型或函数也要用到(如:std::cout, std::cin, std::string 等等)
狼啸风云
2021/03/23
1.3K0
C++中的类
类是一种将抽象转换为用户定义类型的C++++工具,他将数据表示和操纵数据的方法组合成一个整洁的包。 比如有一个股票的类,可以把他的价格,持有人,数量等等,我们可以将股票简化,将操作限制为获得股票、增持、卖出股票、更新股票价格、显示关于股票的信息。此外我们还需要存储一些信息
用户7272142
2023/10/11
1980
C++中的类
C++中的引用
否则按引用传递参数时,在函数中改变形参,外部的实参数据也会发生改变。(因为指向同一块内存)
From Zero
2021/03/11
1.1K0
C++ 中的#,##,和"
查看 PE 文件的常量字符串段,发现经过编译器优化后只存在一个Hello,World!串。
mzlogin
2020/04/16
8260
C++ 中的#,##,和"
C++ 中的#,##,和"
查看 PE 文件的常量字符串段,发现经过编译器优化后只存在一个Hello,World!串。
零式的天空
2022/03/08
7030
C++ 中的#,##,和"
C++中的继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。
二肥是只大懒蓝猫
2023/03/30
1K0
C++中的继承
C++中的explicitkeyword
在C++程序中非常少有人去使用explicitkeyword,不可否认,在平时的实践中确实非常少能用的上。再说C++的功能强大,往往一个问题能够利用好几种C++特性去解决。但略微留心一下就会发现现有的MFC库或者C++标准库中的相关类声明中explicit出现的频率是非常高的。了解explicitkeyword的功能及其使用对于我们阅读使用库是非常有帮助的,并且在编写自己的代码时也能够尝试使用。既然C++语言提供这样的特性,我想在有些时候这样的特性将会非常实用。
全栈程序员站长
2022/07/11
4690
C++ 中的复数
norm()  – 它用于查找复数的范数(绝对值)。如果 z = x + iy 是实部 x 和虚部 y 的复数,则 z 的复共轭定义为 z'(z bar) = x – iy,z 的绝对值(也称为范数)定义为:
鲸落c
2022/12/16
9140
C++ 中的复数
C++中的vector
注意:直接赋值的方法容易导致vector下标越界,产生下标越界访问的错误,所以建议使用push_back()方法。
狼啸风云
2023/10/07
2500
IT运维管理中问题管理的关键点包括哪些?
(1)问题的识别和记录。原则上,任何一个由未知原因引起的事件都与某个问题有关。问题的识别通常会发生在以下情况:在事件管理流程中没有问题或已知错误来匹配事件;通过分析发现该事件又再次发生了,或者发生了重大事件;事件不能与现有问题或已知错误相匹配;通过对IT基础设施的分析识别出导致事件的问题。
华汇数据
2022/11/11
5780
IT运维管理中问题管理的关键点包括哪些?
如何使用Vue中的嵌套插槽(包括作用域插槽)
最近我弄清楚了如何递归地实现嵌套插槽,包括如何使用作用域插槽来实现。起因是我想看看是否可以构建一个复制v-for指令但仅使用template组件。
前端小智@大迁世界
2020/05/27
5.1K0
软件研发成本构成中的直接成本包括哪些?
  我们在估算软件项目成本之前需要先清晰的了解它的成本构成。而软件研发成本的构成仅包括软件研发过程中的所有直接成本和间接成本。   什么是软件研发的直接成本呢?直接成本又包括哪些内容?   软件研发的直接成本是指为了达成特定研发项目所支出的各类资源总和。这些资源与此研发项目是强关联的,一旦该项目结束或中止,则这些成本不再发生。直接成本又分为直接人力成本和直接非人力成本。 直接人力成本 直接人力成本,是指开发方项目组成员的人力资源费用,包括工资、奖金及福利等费用。例如,除了一般意义上的工资及奖金外,项目成员的正常工作餐费也计入直接人力成本。这里的项目成员包括参与该项目研发过程的所有研发或支持人员,如项目经理、需求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人员、质量保证人员、配置管理人员等。而对于非全职投入该项目研发工作的人员,按照项目工作量所占其总工作量比例折算其人力资源费用。 直接非人力成本 直接非人力成本,是指为研发项目支付的非人力费用。一般包括办公费、差旅费、培训费、业务费、采购费等,这些费用必须是为特定研发项目所支出的。例如:   a)    办公费,即开发方为研发此项目而产生的行政办公费用,如办公用品、通讯、邮寄、印刷、会议等;   b)    差旅费,即开发方为研发此项目而产生的差旅费用,如交通、住宿、差旅补贴等;   c)    培训费,即开发方为研发此项目而安排的特别培训产生的费用,这种培训是为了提升项目成员的相关研发技能,来更好地完成本项目研发工作;   d)    业务费,即开发方为完成此项目研发工作所需辅助活动产生的费用,如招待费、评审费、团队建设活动经费、验收费等;   e)    采购费,即开发方为研发此项目而需特殊采购专用资产或服务的费用,如专用设备费、专用软件费、技术协作费、专利费等;   f)    其他,即未在以上项目列出但确系开发方为研发此项目所需花费的费用。   示例1:项目成员因项目加班而产生的餐费宜计入直接非人力成本的办公费中,而项目成员的工作午餐费宜计入直接人力成本。   示例2:项目组封闭开发租用会议室而产生的费用宜计入直接非人力成本中的办公费,而研发部例会租用会议室产生的费用宜按照间接非人力成本分摊。   示例3:为项目采购专用测试软件的成本宜计入直接非人力成本中的采购费,而日常办公软件的成本宜按照间接非人力成本进行分摊。   我们在进行软件成本估算过程中,一定要正确区分哪些费用是直接人力成本,哪些是非直接人力成本。   而在区分直接成本与间接成本时,可以假设当前项目中止或取消,未发生的相关费用是否还会继续产生,如果是,则属于间接成本,而如果相关费用不会发生,则属于直接成本。
软件成本造价评估
2018/12/13
7.2K0
软件研发成本构成中的直接成本包括哪些?
【C++】C++ 类中的 this 指针用法 ① ( C++ 类中的 this 指针引入 | this 指针用法 | 代码示例 )
在 C++ 类中 , this 指针 是一个特殊的指针 , 由系统自动生成 , 不需要手动声明定义 , 在类中的每个 非静态成员函数 中 , 都可以调用 this 指针 ;
韩曙亮
2023/10/15
3570
【C++】C++ 类中的 this 指针用法 ① ( C++ 类中的 this 指针引入 | this 指针用法 | 代码示例 )
C++中typename的用法
最近在看STL源码剖析时,遇到关于typename的用法,平常接触到的只是在定义模板参数时使用,直到遇到这个问题我才彻底的查找了typename的用法。先看下一个例子:
狼啸风云
2021/03/23
3.2K0
点击加载更多

相似问题

Gurobi API C++中的Maximum函数

16

C++中的Gurobi GRBModel和GRBmodel

10

Gurobi的Runtime属性是否包括接口的时间

10

使用C++的对偶变量Gurobi

193

在gurobi c++中从模型中删除约束

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文