[Coin-symphony] VC++ problem, symphonyLib.lib not enough?

Ted Ralphs tkralphs at lehigh.edu
Fri Sep 23 12:35:20 EDT 2005


Yes, you have to link in all the COIN libraries. The SYMPHONY library
does not include the COIN subroutines.

Cheers,

Ted

ZT wrote:
> Hello,
> 
> i compiled symphony library for vc++ using sym.mak.
> The interface setting is for GLPK. Compiling process
> finishes without problems and symphony library is
> created. Then i make my project in VC++ 6.0, where i
> include the library and all the header files found in
> symphony's include directory. here is the code:
> 
> #include "symphony_api.h"
> 
> 
> int main(int argc, char* argv[])
> {
> 
> 	argv[0] = "-F";
> 	argv[1] = "X.mps";
> 
>     sym_environment *env = sym_open_environment();
>     sym_parse_command_line(env, 2, argv);
>     sym_load_problem(env);
>     sym_find_initial_bounds(env);
>     sym_solve(env);
>     sym_close_environment(env);
> 
> return 0;
> }
> 
> I try to load the problem from a sample X.mps file.
> Compiling runs ok, but then i stumble on a linker
> errors:
> 
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: void __thiscall
> CoinMessageHandler::setLogLevel(int)"
> (?setLogLevel at CoinMessageHandler@@QAEXH at Z)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: __thiscall
> OsiGlpkSolverInterface::OsiGlpkSolverInterface(void)"
> (??0OsiGlpkSolverInterface@@QAE at XZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: __thiscall
> CoinWarmStartBasis::CoinWarmStartBasis(void)"
> (??0CoinWarmStartBasis@@QAE at XZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: virtual __thiscall
> CoinPackedVector::~CoinPackedVector(void)"
> (??1CoinPackedVector@@UAE at XZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: void __thiscall
> CoinPackedVector::insert(int,double)"
> (?insert at CoinPackedVector@@QAEXHN at Z)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: __thiscall
> CoinPackedVector::CoinPackedVector(bool)"
> (??0CoinPackedVector@@QAE at _N@Z)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: char const *
> __thiscall CoinMpsIO::columnName(int)const "
> (?columnName at CoinMpsIO@@QBEPBDH at Z)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: double __thiscall
> CoinMpsIO::objectiveOffset(void)const "
> (?objectiveOffset at CoinMpsIO@@QBENXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: bool __thiscall
> CoinMpsIO::isInteger(int)const "
> (?isInteger at CoinMpsIO@@QBE_NH at Z)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: class
> CoinPackedMatrix const * __thiscall
> CoinMpsIO::getMatrixByCol(void)const "
> (?getMatrixByCol at CoinMpsIO@@QBEPBVCoinPackedMatrix@@XZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: double const *
> __thiscall CoinMpsIO::getColLower(void)const "
> (?getColLower at CoinMpsIO@@QBEPBNXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: double const *
> __thiscall CoinMpsIO::getColUpper(void)const "
> (?getColUpper at CoinMpsIO@@QBEPBNXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: double const *
> __thiscall CoinMpsIO::getRowRange(void)const "
> (?getRowRange at CoinMpsIO@@QBEPBNXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: char const *
> __thiscall CoinMpsIO::getRowSense(void)const "
> (?getRowSense at CoinMpsIO@@QBEPBDXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: double const *
> __thiscall CoinMpsIO::getRightHandSide(void)const "
> (?getRightHandSide at CoinMpsIO@@QBEPBNXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: double const *
> __thiscall CoinMpsIO::getObjCoefficients(void)const "
> (?getObjCoefficients at CoinMpsIO@@QBEPBNXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: int __thiscall
> CoinMpsIO::getNumElements(void)const "
> (?getNumElements at CoinMpsIO@@QBEHXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: int __thiscall
> CoinMpsIO::getNumCols(void)const "
> (?getNumCols at CoinMpsIO@@QBEHXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: int __thiscall
> CoinMpsIO::getNumRows(void)const "
> (?getNumRows at CoinMpsIO@@QBEHXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: char const *
> __thiscall CoinMpsIO::getProblemName(void)const "
> (?getProblemName at CoinMpsIO@@QBEPBDXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: __thiscall
> CoinMpsIO::~CoinMpsIO(void)" (??1CoinMpsIO@@QAE at XZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: int __thiscall
> CoinMpsIO::readMps(char const *,char const *)"
> (?readMps at CoinMpsIO@@QAEHPBD0 at Z)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: void __thiscall
> CoinMpsIO::setInfinity(double)"
> (?setInfinity at CoinMpsIO@@QAEXN at Z)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: double __thiscall
> CoinMpsIO::getInfinity(void)const "
> (?getInfinity at CoinMpsIO@@QBENXZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: __thiscall
> CoinMpsIO::CoinMpsIO(void)" (??0CoinMpsIO@@QAE at XZ)
> symphonyLib.lib(lp_solver.obj) : error LNK2001:
> unresolved external symbol "public: __thiscall
> CoinError::CoinError(class CoinError const &)"
> (??0CoinError@@QAE at ABV0@@Z)
> Debug/proba.exe : fatal error LNK1120: 26 unresolved
> externals
> Error executing link.exe.
> 
> I tried including in the project all the COIN library
> files that i had to create in order to make the
> symphony library. And the project executes without
> errors. Did i misunderstand the manual? in order for
> symphony to work i HAVE to include all the COIN
> libraries, or is symphonyLib.lib the only library that
> should be used in my project? In that case, what is
> the problem?
> 
> thanks, bye
> 
> 
> 		
> __________________________________ 
> Yahoo! Mail - PC Magazine Editors' Choice 2005 
> http://mail.yahoo.com
> _______________________________________________
> Coin-symphony mailing list
> Coin-symphony at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-symphony


-- 
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2



More information about the Symphony mailing list