尝试在Visual Studio 2013中引用静态库项目时出现链接器错误

时间:2015-12-16 07:07:05

标签: c++ visual-studio-2013 linker static-libraries

我的Visual Studio解决方案中有两个项目:A(静态库.lib项目)和B(使用A的项目)。我按照以下步骤在B中引用了A:

right click B > properties > common properties > references > add new reference > select A from projects tab

我已使用additional include directories

中的properties > Configuration Properties > C/C++ > General选项设置.h文件的路径

单独构建时,项目A成功构建。但是在构建项目B时,它会显示unresolved external symbol错误,如下所示:

Error   46  error LNK2001: unresolved external symbol __imp____glewActiveTexture    c:\Users\student\documents\visual studio 2013\Projects\MCAProject\Narovatar\Narovatar\OGLDEV_Imported.lib(ogldev_texture.obj)   Narovatar
Error   21  error LNK2001: unresolved external symbol __imp____glewAttachShader c:\Users\student\documents\visual studio 2013\Projects\MCAProject\Narovatar\Narovatar\OGLDEV_Imported.lib(technique.obj)    Narovatar
Error   12  error LNK2001: unresolved external symbol __imp____glewBindBuffer   c:\Users\student\documents\visual studio 2013\Projects\MCAProject\Narovatar\Narovatar\ogl_mesh.obj  Narovatar
Error   13  error LNK2001: unresolved external symbol __imp____glewBufferData   c:\Users\student\documents\visual studio 2013\Projects\MCAProject\Narovatar\Narovatar\ogl_mesh.obj  Narovatar

我还能离开什么?有什么想法吗?

2 个答案:

答案 0 :(得分:6)

右键点击properties -> linker -> general ->additional library directories-> browse for your lib file directory

右键点击properties -> linker -> general ->input-> write your lib file name

不要忘记让他们 MT MD 如下:

properties -> C/C++ -> Code generation -> Runtime-library-> change them both to be the same

答案 1 :(得分:1)

我自己找到了答案,当然是在所有回复者的帮助下。实际上,项目A(.lib项目)将所有头文件和实现都放在我在项目B中引用的同一文件夹中。因此,当所有实现都已经可用时,我没有必要链接我的。项目B中项目A的dll输出,但只需要引用它。

另一个问题是我没有链接(在项目B中)构建项目A所需的库。现在,它已启动并运行......