我无法理解为什么它有错误LNK2019“无间隙外部符号”

时间:2013-11-13 03:06:36

标签: visual-c++ dll linker static-libraries glpk

我按照insturction在windows上编译glpk,然后我得到了glpk_4_52.lib和glpk_4_52.dll。在我的VC 2010项目中,我包含头文件

#include" glpk.h"

我在"附加库目录"中包含了glpk_4_52.lib。

但是在编译后它仍然显示:

错误LNK2019,"非主要外部符号",_ glp_create_prob,在_main中引用 和其他类似的人一样。

有谁知道这里的问题是什么?谢谢!d

1 个答案:

答案 0 :(得分:1)

"附加图书馆目录"不是将lib文件添加到链接的正确方法。

无论哪种,

在配置属性中添加glpk_4_52.lib - >链接器 - >输入 - >附加依赖

使glpk项目成为EXE项目的依赖项,如果它们在同一个解决方案中,则使用" Project Dependencies"并确保配置属性 - >链接器 - >一般 - >链接库依赖项设置为是

我能够通过使用SourceForge上预编译包中的H和LIB版本4_52来重现您的问题,方法是将我的EXE的调用约定强制为__stdcall(/ Gz)(在C ++中 - > Adanced)。

您应该使用 __ cdecl(/ Gd)