我正在用MS Visual Studio 2015编写一个c ++项目。在我的项目中,我必须调用一些在C文件中声明和定义的变量。
如下所示,变量包含在extern" C"结构:
#if defined __cplusplus
extern "C" {
#endif
GainType MYDLL_API BestCost; /* Cost of the tour in BestTour */
int MYDLL_API *BestTour; /* Table containing best tour found */
double MYDLL_API LowerBound; /* Lower bound found by the ascent */
#if defined __cplusplus
}
#endif
但是,编译器无法解析这三个变量。 我到处搜索过,我已经尝试了所有提议的解决方案,但它仍然无法运行。 我该如何解决?
感谢大家!
答案 0 :(得分:3)
这看起来像c
代码在DLL中
让编译器找到它。
MYDLL_API
定义为__declspec(dllimport)
答案 1 :(得分:3)
似乎符号来自DLL库。然后,您需要将DLL的导入库(* .lib)添加到与应用程序链接的库列表中。
在Visual Studio选项中,这可以在项目属性,链接器/输入/附加依赖项下完成(在那里添加lib名称)。
还要确保在链接器/常规/附加库目录中设置* .lib的路径。