在c中为windows编译glpk

标签 c qt glpk

我编写了一个使用glpk库的C代码,它在linux上完美运行,但我无法在windows中编译它。我从 sourceforge 下载了 winglpk-4.55.zip 文件。解压 .zip 文件后,我将 glpk.h 和 glpk.lib 包含在我的项目中。我使用的是 Qt,因此我将以下行添加到我的 .pro 文件中:

LIBS += -L"C:\Program Files (x86)\GLPK\glpk-4.55\w64" -lglpk_4_55
INCLUDEPATH += "C:\Program Files (x86)\GLPK\glpk-4.55\src"

当我运行以下代码时:

#include <QtCore/QCoreApplication>
#include <QTextStream>
#include "glpk.h"

int main(int argc, char *argv[])
{
    QTextStream out(stdout);
    QTextStream in(stdin);

    out << "GLPK version: " << glp_version() << "\n";
    out << "Press Enter\n";
    out.flush();
    in.readLine();
    QCoreApplication::quit();
}

我有错误:

undefined reference to 'glp_version' 

或者,我使用 Visual Studio 2010,然后在项目中包含 glpk.lib 和 glpk.h 文件,并将 glpk.dll 的位置添加到环境变量 PATH 中,我得到了相同的结果,所以我不知道是什么我做错了。我按照https://en.wikibooks.org/wiki/GLPK/Windows中解释的步骤进行操作但我还没有找到解决办法。我用的是64位Win 7系统。请帮助我

最佳答案

我使用 Visual Studio,它可以工作

我从此链接下载glpk(下载/安装程序):enter link description here

并按照 enter link description here 中说明的步骤进行操作

步骤:在“链接器”>“输入”>“其他依赖项”下:添加“C:\Program Files\GLPK\glpk-4.47\w32\glpk_4_47.lib”

对我来说,链接是:C:\Program Files (x86)\GnuWin32\lib\glpk.lib

安装时请记住点击:下载源代码然后执行此步骤:

步骤:在“配置属性”>“VC++ 目录”>“包含目录”下:添加“C:\Program Files\GLPK\glpk-4.47\src”

您将在下载的源文件中归档您的链接。对我来说,链接是:“C:\Users\Admin\Downloads\src\glpk\4.34\glpk-4.34-src\include”

当使用安装到System32或SysWOW64时,我还需要复制bin中的3个file.dll

希望这些对你有帮助!

关于在c中为windows编译glpk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30921427/

相关文章:

c - Head First C 安全破解器 - 错误 : initializer element is not a compile-time constant

java - GLPK for Java - 二进制变量 MIP 给出小数结果

haskell - 安装 glpk-hs

python - GLPK线性规划

c编程段错误unitialised int?

c - 如何在结构中访问结构中的变量

c - yuv420p 到 rgb 图像转换

c++ - 二进制字符串到 C++ 中的 byte[]?

c++ - 如何访问子类中的小部件?

c++ - Qt QRadioButton setChecked