在Visual Studio 2010中链接库

Sai*_*int 3 c++

我正在做一些研究,当我感到无聊时,我发现这个glut32.dll,glut32.h和glut32.lib文件应该保存几个不同功能的函数定义(如果我没有记错)源代码使用.

我正在使用Visual Studio 2010,因此我必须使用项目的属性手动添加.lib文件.所以...

  • 我转到Project/Properties/Config.属性/ VC++目录并将我的头文件和.lib/.dll文件添加到包含,引用,源和库属性的位置.

  • 然后我在Config中进入C/C++.将支持菜单放入常规选项卡,并将我的.h/.lib/.dll文件的位置添加到Additonal Include目录.

  • 回到C/C++目录,进入Advanced选项卡并告诉代码编译为C代码(在C和C++代码之间更改此代码最后不做任何事情).

  • 然后,从C/C++选项卡进入Config.Prop.s选项卡,我进入链接器选项卡.在这里,我转到"附加库目录"并添加我的.lib和.dll文件所在的位置.

  • 然后进入Input选项卡,我在Addition Dependencies选项卡中写入.lib文件的名称.我在每次更改后都点击申请,然后点击申请/确定.

我按代码构建并得到此错误:

1>------ Build started: Project: simplVRML, Configuration: Debug Win32 ------
1>Build started 3/30/2011 7:46:45 AM.
1>InitializeBuildStatus:
1> Touching "Debug\simplVRML.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>object.obj : error LNK2019: unresolved external symbol _arLoadPatt referenced in function _read_VRMLdata
1>object.obj : error LNK2019: unresolved external symbol _arVrmlLoadFile referenced in function _read_VRMLdata
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arVrmlDraw referenced in function _main
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arUtilTimerReset referenced in function _main
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglSetupForCurrentContext referenced in function _main
1>simpleVRML.obj : error LNK2019: unresolved external symbol __imp__arVideoCapStart referenced in function _setupCamera
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arInitCparam referenced in function _setupCamera
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arParamDisp referenced in function _setupCamera
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arParamChangeSize referenced in function _setupCamera
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arParamLoad referenced in function _setupCamera
1>simpleVRML.obj : error LNK2019: unresolved external symbol __imp__arVideoInqSize referenced in function _setupCamera
1>simpleVRML.obj : error LNK2019: unresolved external symbol __imp__arVideoOpen referenced in function _setupCamera
1>simpleVRML.obj : error LNK2001: unresolved external symbol _arMatchingPCAMode
1>simpleVRML.obj : error LNK2001: unresolved external symbol _arTemplateMatchingMode
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglTexmapModeGet referenced in function _debugReportMode
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglDrawModeGet referenced in function _debugReportMode
1>simpleVRML.obj : error LNK2001: unresolved external symbol _arImageProcMode
1>simpleVRML.obj : error LNK2001: unresolved external symbol _arFittingMode
1>simpleVRML.obj : error LNK2019: unresolved external symbol __imp__arVideoClose referenced in function _Quit
1>simpleVRML.obj : error LNK2019: unresolved external symbol __imp__arVideoCapStop referenced in function _Quit
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglCleanup referenced in function _Quit
1>simpleVRML.obj : error LNK2019: unresolved external symbol __imp__arVideoDispOption referenced in function _Keyboard
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arUtilTimer referenced in function _Keyboard
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglTexmapModeSet referenced in function _Keyboard
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglDrawModeSet referenced in function _Keyboard
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arGetTransMatCont referenced in function _Idle
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arGetTransMat referenced in function _Idle
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arDetectMarker referenced in function _Idle
1>simpleVRML.obj : error LNK2019: unresolved external symbol __imp__arVideoGetImage referenced in function _Idle
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arVrmlTimerUpdate referenced in function _Idle
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglCameraViewRH referenced in function _Display
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglCameraFrustumRH referenced in function _Display
1>simpleVRML.obj : error LNK2019: unresolved external symbol __imp__arVideoCapNext referenced in function _Display
1>simpleVRML.obj : error LNK2019: unresolved external symbol _arglDispImage referenced in function _Display
1>C:\Users\*\Desktop\AltReality\Pwork\simplVRML\Debug\simplVRML.exe : fatal error LNK1120: 34 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.81
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

我可以确认问题是我如何链接库,我肯定做错了,因为当我尝试将其他库链接到其他项目时,结果是一样的.我在网上看过,我已经尝试了几个教程,但是没有用 - 有人可以告诉我我做错了什么吗?

JCo*_*per 6

没有链接错误用于GLUT功能.看起来你没有链接到ARToolkit库.这将是一个不同的库,也需要包含在您的输入行中.


小智 6

如上一篇文章所述,请确保您的.dll/.lib文件与您正在构建的.exe/.dll位于同一目录中,然后转到项目的"解决方案资源管理器",右键单击该项目单击name,选择"Add" - >"Existing Item ...",然后选择要包含的.dll/.lib文件.

您现在应该看到"解决方案资源管理器"中"源文件"部分下面列出的.dll/.lib文件.在我执行上述步骤之前,我看到了同样的错误.

此外,请确保您的头文件包含在项目中并在源文件中适当引用.