我的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
我还能离开什么?有什么想法吗?
答案 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所需的库。现在,它已启动并运行......