在visual studio 2015中使用lp_solve 我对C++比较陌生。我正在尝试使用VS2015和lp_solve library()来解决我的线性eq问题(有关精确的Gromov-Hausdorrf距离,请参见第3.1节和第3.3节)。我的机器是x64系统。以下是我所做的: 不要加载lp_solve_5.5.2.5_dev_win64.zip包并解压缩它 指定库目录(通过项目->属性->链接器) 我通过project->properties->linker->input->additional dependency使用的特定库(liblpsolve55.lib和liblpsolve55d.lib用于静态链接) 声明.h文件目录(通过project->properties->C/C++)
以下是我在代码中声明的内容:在visual studio 2015中使用lp_solve 我对C++比较陌生。我正在尝试使用VS2015和lp_solve library()来解决我的线性eq问题(有关精确的Gromov-Hausdorrf距离,请参见第3.1节和第3.3节)。我的机器是x64系统。以下是我所做的: 不要加载lp_solve_5.5.2.5_dev_win64.zip包并解压缩它 指定库目录(通过项目->属性->链接器) 我通过project->properties->linker->input->additional dependency使用的特定库(liblpsolve55.lib和liblpsolve55d.lib用于静态链接) 声明.h文件目录(通过project->properties->C/C++),c++,visual-studio-2015,lpsolve,C++,Visual Studio 2015,Lpsolve,以下是我在代码中声明的内容: #包括“lp_lib.h” #pragma注释(lib,“liblpsolve55.lib”)//静态 #pragma comment(lib,“liblpsolve55d.lib”)//用于调试的静态 当我使用x86运行代码时,它将显示以下问题: 错误LNK2019:未解析的外部符号\u生成_lp@8在函数“void\u cdecl my\u solve”中引用[总共13个类似错误] 警告LNK4272:库计算机类型“X86”与目标计算机类型“x64”冲突[共
#包括“lp_lib.h”
#pragma注释(lib,“liblpsolve55.lib”)//静态
#pragma comment(lib,“liblpsolve55d.lib”)//用于调试的静态
当我使用x86运行代码时,它将显示以下问题:
- 错误LNK2019:未解析的外部符号\u生成_lp@8在函数“void\u cdecl my\u solve”中引用[总共13个类似错误]
- 警告LNK4272:库计算机类型“X86”与目标计算机类型“x64”冲突[共2条类似的警告]
当我使用x64切换跑步者时:
- 我得到550个错误,主要是由于“dlfcn.h”:没有这样的文件或目录
- 在lp_lib.h文件中,它有以下行:
#if (LoadInverseLib == TRUE) || (LoadLanguageLib == TRUE)
#ifdef WIN32
#include <windows.h>
#else
#include <dlfcn.h>
#endif
#endif
#if(LoadInverseLib==TRUE)| |(LoadLanguageLib==TRUE)
#ifdef WIN32
#包括
#否则
#包括
#恩迪夫
#恩迪夫
- 这意味着它将我视为一台linux机器,因为dlfcn.h是用于unix/linux的
我还尝试使用32位版本包(lp_solve_5.5.2.5_dev_win32.zip),但它也不起作用
- 对于x86运行程序:_iob,_printf问题
- 对于x64运行程序:“dlfcn.h”:没有这样的文件或目录
我已经用相应的软件包(lp_solve_5.5.2.5_dev_osx32.tar.gz)在我的mac电脑上成功构建并运行了演示版。但我仍然想知道如何在VS2015中构建和运行它。
这里我将说明如果有人需要我在mac中做什么(使用Xcode)
- 下载lp_solve_5.5.2.5_dev_osx32.tar.gz包
- 在构建阶段->标题中添加所有.h文件
- 在构建阶段->将二进制文件链接到库中添加liblpsolve55.a文件
- (如果要将.dylib用作动态链接,请将其添加到构建阶段->复制文件,但它对我不起作用)
- 在内部版本设置中,将架构设置为32位intel
- 在“生成设置”中,将“仅生成活动体系结构”设置为“否”
非常感谢,实际上没有人回答这个问题:)但我自己解决了这个问题。以下是我为VS2015所做的工作:
- 使用包lp_solve_5.5.2.5_dev_win32.zip
- 如上所述添加.h文件和.lib
- 通过属性->C/C++->代码生成->运行库->将DLL(/MDd)更改为(/MTd),更改运行库
- 如果您仍然有一些fprintf问题,请转到属性->链接器->输入->附加依赖项,并添加:legacy\u stdio\u definitions.lib
那没关系。那可能是一些翻译问题,是的,我用的是中文版本,而不是