Qt静态库:未定义的函数引用

时间:2015-11-20 19:29:09

标签: c++ qt

我正在尝试在我的新Qt项目中使用静态库。 lib是使用Visual Studio 2015社区版创建的,并使用C ++ 11.我在.pro文件中添加了以下行:

CONFIG += c++11

LIBS += -L$$PWD/lib/ -lRoboticArmLib

将文件复制到其位置:../ project / lib / RoboticArmLib.lib

作为第二步,我已将标题添加到项目中,但它无法看到函数的定义。

mainwindow.cpp:11: error: undefined reference to RoboticArm::ArmRunner::getInstance()'

我还应该做些什么来使我的计划有效?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

问题如下。该库是使用Visual Studio C ++编译器(2015版)构建的,Qt 5.5希望使用MinGW或Visual Studio C ++ 2013构建。(取决于设置和Qt版本)函数名称表示器逻辑不是编译器的标准,因此MinGW和VS C ++的工作方式不同。这就是为什么MinGW甚至VS 2013 C ++都无法在用另一个编译器编译的lib中找到函数定义的原因,在本例中是VS C ++ 2015。