Macos 出错:在OSX上安装hqp(大型二次规划)
我正在尝试在OSX上安装,但似乎Macos 出错:在OSX上安装hqp(大型二次规划),macos,gcc,makefile,quadratic,Macos,Gcc,Makefile,Quadratic,我正在尝试在OSX上安装,但似乎gcc编译器完全不同。 运行make时,我首先遇到一个错误,如malloc.h not found,我将#include标题包装为: #if !defined(__APPLE__) #include <malloc.h> #endif 有人知道这次有什么不同吗?我尝试重新安装最新版本的tcl,但似乎没有问题。发现用谷歌搜索解决方案真的很难…如果不实际测试结果,我通过以下步骤实现了这一点。我不得不说,这组makefiles不能正常工作,特别是在如何设置
gcc
编译器完全不同。
运行make
时,我首先遇到一个错误,如malloc.h not found
,我将#include
标题包装为:
#if !defined(__APPLE__)
#include <malloc.h>
#endif
有人知道这次有什么不同吗?我尝试重新安装最新版本的tcl,但似乎没有问题。发现用谷歌搜索解决方案真的很难…如果不实际测试结果,我通过以下步骤实现了这一点。我不得不说,这组makefiles不能正常工作,特别是在如何设置依赖项方面 首先,编辑
meschach/machine.h
并删除#include
,或者像使用uu APPLE\uu
ifdef一样设置条件。包含malloc.h
的唯一原因似乎是为了malloc()
和free()
,而这些都是通过stdlib.h
包含的
然后编辑makedirs.in
并将-I/usr/include/malloc
附加到MES\u INCDIR
,剩下的是MES\u INCDIR=-I-I/usr/include/malloc
有了这两个步骤,执行/configure
然后执行make
应该已经为您提供了libhqp。因此lib
目录中的,这可能就足够了
但是,在目录hqp_docp
中还有一个名为docp
的可执行文件,它在make
过程中执行。它无法工作,因为它找不到共享库libhqp.so
。我通过cd
-ing进入lib
目录并设置export DYLD\u FALLBACK\u LIBRARY\u PATH=$PWD
解决了这个问题。不过,我不确定运行docp
是否是流程的一个重要部分
最后,名为omu
的库的构建中断,因为链接器没有传递到所需库libhqp.so
的任何引用。我不明白为什么这会在其他系统上工作,我也不知道您是否需要libomu
。我刚刚做了一个快速修复,在omu/Makefile
中的linker命令末尾添加了-L../lib-lhqp
。这是以$(LD)
开头的命令
我希望我没有忘记我采取的任何步骤,让我知道,如果它仍然为你在某处中断
g++ -shared -o libhqp.so Hqp_Init.o Hqp.o sprcm.o Meschach.o spBKP.o matBKP.o bdBKP.o Hqp_impl.o Hqp_Program.o Hqp_Solver.o Hqp_Client.o Hqp_IpsFranke.o Hqp_IpsMehrotra.o Hqp_IpMatrix.o Hqp_IpSpBKP.o Hqp_IpRedSpBKP.o Hqp_IpLQDOCP.o t_mesch.o Hqp_IpSpSC.o meschext_hl.o Hqp_SqpSolver.o Hqp_SqpPowell.o Hqp_SqpSchittkowski.o Hqp_HL.o Hqp_HL_Gerschgorin.o Hqp_HL_DScale.o Hqp_HL_BFGS.o Hqp_HL_SparseBFGS.o Hqp_SqpProgram.o Hqp_Docp.o hqp_solve.o \
../meschach/*.o ../iftcl/*.o -L"/sw/lib" -Wl,-rpath,"/sw/lib" -ltclstub8.5
i686-apple-darwin11-llvm-g++-4.2: ../meschach/*.o: No such file or directory
i686-apple-darwin11-llvm-g++-4.2: ../iftcl/*.o: No such file or directory