在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

那没关系。那可能是一些翻译问题,是的,我用的是中文版本,而不是