我正在尝试在 Visual Studio 2013 中编译 igraph C 代码,已经将所有库包含在属性中,就像 igraph C 发行版附带的一些示例一样,但我仍然遇到以下问题输出窗口:
1>igraph.lib(prpack.obj) : error LNK2001: unresolved external symbol "public: __thiscall prpack::prpack_base_graph::~prpack_base_graph(void)" (??1prpack_base_graph@prpack@@QAE@XZ)
1>igraph.lib(prpack.obj) : error LNK2001: unresolved external symbol "public: __thiscall prpack::prpack_igraph_graph::prpack_igraph_graph(struct igraph_s const *,struct igraph_vector_t const *,int)" (??0prpack_igraph_graph@prpack@@QAE@PBUigraph_s@@PBUigraph_vector_t@@H@Z)
1>igraph.lib(prpack.obj) : error LNK2001: unresolved external symbol "public: __thiscall prpack::prpack_result::~prpack_result(void)" (??1prpack_result@prpack@@QAE@XZ)
1>igraph.lib(prpack.obj) : error LNK2001: unresolved external symbol "public: __thiscall prpack::prpack_solver::prpack_solver(class prpack::prpack_base_graph *,bool)" (??0prpack_solver@prpack@@QAE@PAVprpack_base_graph@1@_N@Z)
1>igraph.lib(prpack.obj) : error LNK2001: unresolved external symbol "public: __thiscall prpack::prpack_solver::~prpack_solver(void)" (??1prpack_solver@prpack@@QAE@XZ)
1>igraph.lib(prpack.obj) : error LNK2001: unresolved external symbol "public: class prpack::prpack_result * __thiscall prpack::prpack_solver::solve(double,double,double const *,double const *,char const *)" (?solve@prpack_solver@prpack@@QAEPAVprpack_result@2@NNPBN0PBD@Z)
1>C:\Users\Tradeli\Documents\Visual Studio 2013\Projects\igraph C\igraph c\Release\igraph c.exe : fatal error LNK1120: 6 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
显然这与 prpack 有关,但我不知道我需要包含哪个库,有人知道如何解决这个问题吗?
最佳答案
这是 igraph 的 MSVC 版本中的一个错误;尝试将 /DPRPACK_IGRAPH_SUPPORT=1
添加到编译器选项中,并将 src/
文件夹中的 PRPACK 源文件(基本上是与 prpack_*.cpp 匹配的所有内容)添加到源列表中项目中的文件,然后重新编译。
关于c - Visual Studio 中 igraph C 编译链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26579997/