使用Visual Studio创建的静态库在与代码块一起使用时显示未定义的Myfunction参考

时间:2015-04-10 15:09:29

标签: c++ visual-studio winapi codeblocks

您好我使用Microsoft Visual Studio 2008创建了一个静态库,并且还创建了一个包含该库中编写的函数的所有函数原型的头文件,但是当我链接并尝试使用代码块编译它时,它显示未定义的引用'MyFunction'但我已经包含了包含其原型的标题并链接了库。为什么不起作用?

代码(库):

int add(int x,int y)
{
      return x+y;
}

代码(标题):

int add(int,int);

所有这些都在Visual Studio下工作,但不在代码块下。 在此先感谢...对不起,我是编程新手..

1 个答案:

答案 0 :(得分:0)

Visual Studio生成的静态库通常不能被MinGW使用,反之亦然。这有多种原因,但最常见的是静态库与生成库的编译器的C ++运行时链接。并且您正在尝试链接使用不同运行时的编译器。

您报告的问题听起来更像是错误匹配的名称管理,但即使您解决了名称错误,您也可能会遇到其他问题。

显而易见的解决方案是构建静态库的多个版本,每个版本对应一个您使用的编译器。

相关问题