c++ - 将Qt C++与lp_solve集成-编译器错误

在我的项目中,我必须解决整数线性编程问题,因此我决定将lp_solve solver package与Qt 4.8.4 mingw32编译器集成到我的Windows 7平台上。我正在静态编译我的独立Qt应用程序。

我已遵循this关于将应用程序与lp_solve静态链接(隐式链接)的建议。
-我下载了提到的头文件,并将其路径包含在我的.pro文件中。
-我已经下载了liblpsolve55.lib文件,并将该库包含在我的.pro文件中。

我的项目文件的补充:

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32/ -lliblpsolve55
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32/ -lliblpsolve55d

INCLUDEPATH += $$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32
DEPENDPATH += $$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32

win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32/liblpsolve55.lib
else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32/liblpsolve55d.lib

win32: LIBS += -L$$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32/ -llpsolve55

INCLUDEPATH += $$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32
DEPENDPATH += $$PWD/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32

此外,Qt Autocomplete正在识别那些头文件。

但是,当我在代码中包含以下行时,会收到很多警告和错误。
int demo()
{
  lprec *lp;
  lp = make_lp( 0, 4); // This line gives me errors

  /*...*/
  return(0);
}

编译器输出:
14:07:09: Running steps for project EZDraft...
14:07:09: Configuration unchanged, skipping qmake step.
14:07:09: Starting: "C:\mingw\bin\mingw32-make.exe" 
C:/mingw/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft-build-Unnamed_Microsoft_Windows_SDK_for_Windows_7_7_1_7600_0_30514_x86-Default_build_Debug'
g++ -static-libgcc -static-libstdc++ -static-libgcc -Wl,-s -Wl,-subsystem,windows -o release\PanelDraw.exe object_script.PanelDraw.Release  -L"c:\Users\Abhishek\Downloads\qt-everywhere-opensource-src-4.8.4\qt-everywhere-opensource-src-4.8.4\lib" -lmingw32 -lqtmain release\myicon_res.o -LC:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32/ -lliblpsolve55 -LC:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32/ -llpsolve55 -lQtGui -lQtNetwork -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(lp_lib.obj):../lp_lib.c:(.text[_performiteration]+0x46f): undefined reference to `_allrem'
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(commonlib.obj):../shared/commonli:(.text[_gcd]+0xac): undefined reference to `_alldiv'
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(commonlib.obj):../shared/commonli:(.text[_gcd]+0xb9): undefined reference to `_allmul'
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(lp_MPS.obj):../lp_MPS.c:(.text[_MPS_readex@20]+0xc): undefined reference to `_chkstk'
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(lp_utils.obj):../lp_utils.c:(.text[_roundToPrecision]+0xd1): undefined reference to `_allmul'
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(lp_price.obj):../lp_price.c:(.text[_makePriceLoop]+0x2e): undefined reference to `_allrem'
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(lp_params.obj):../lp_params.c:(.text[_write_params@12]+0x6): undefined reference to `_chkstk'
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(lp_params.obj):../lp_params.c:(.text[_write_params1]+0x6): undefined reference to `_chkstk'
C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft_10_09_2013/../../../../../../Users/Abhishek/Downloads/lp_solve_5.5.2.0_dev_win32//liblpsolve55.lib(lp_params.obj):../lp_params.c:(.text[_read_params@12]+0x6): undefined reference to `_chkstk'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\PanelDraw.exe] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/Qt5.0.0/Tools/QtCreator/bin/EZDraft-build-Unnamed_Microsoft_Windows_SDK_for_Windows_7_7_1_7600_0_30514_x86-Default_build_Debug'
mingw32-make: *** [release] Error 2
14:07:15: The process "C:\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project EZDraft (kit: Unnamed-Microsoft Windows SDK for Windows 7 (7.1.7600.0.30514) (x86))
When executing step 'Make'

任何有关如何解决上述错误的指南都将非常有帮助。我已经用谷歌搜索了上述错误,但无法获得解决方案。

谢谢

最佳答案

从link看来,使用mingW,我将不得不为我的特定环境重新编译lpsolve .lib。

我通过使用共享DLL(隐式链接)过程来解决此问题。它编译没有任何错误。

https://stackoverflow.com/questions/18868298/

相关文章:

c++ - 发布版本中的 Visual C++ 6 编译错误

compiler-errors - Java类路径问题

ios - drawRect :中的EXC_BAD_ACCESS

java - 编写一个程序,询问产品代码,产品数量并汇总所有价格

java - 按给定因子缩放线段

java - 错误 :class interface or enum expected

c++ - Count.h :10:5: error: ISO C++ forbids declar

java - 在其他类中访问主类中的公共(public)变量

c++ - C++中的运行时错误字符串声明

android - 使用android和SHOWasAction属性使菜单栏出现错误