Library Linking in Visual Studio 2010

I do some research on the side when I'm bored, and I found the files glut32.dll, glut32.h and glut32.lib, which should contain function definitions (if I'm not mistaken) of several different functions used in this source code.

I am using Visual Studio 2010, so I need to add .lib files manually using the project properties. So that...

  • I go to Project / Properties / Config. Properties / VC ++ and add where my header files and .lib / .dll files refer to Include, Reference, Source and Library properties.

  • Then I go to C / C ++ in Config. On the General tab, add the location of the .h / .lib / .dll files to the Addononal Include directories.

  • Return to the C / C ++ directory on the Advanced tab and tell that the code compiles as C code (changing this C and C ++ code does nothing at the end).

  • Then, outside the C / C ++ tab, in Config. Tab "Prop.s", I go to the tab "Linker". Here I go to "Additional library directories" and add where my .lib and .dll files are located.

  • Then in the input tab, where I write the name of the .lib file in the Dependency Dependencies tab. I click Apply after each change and click Apply / ok this time.

I am going to build by code and get this error:

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 ========== 

I can confirm that the problem is how I am linking the library, I am definitely doing something wrong, because when I try to link other libraries to other projects, the result will be the same. I looked online and I tried several tutorials, but in no way could anyone please tell me what am I doing wrong?

+3
c ++
source share
6 answers

None of the link errors for GLUT functions. It looks like you are not linking to the ARToolkit library. This will be another library that should also be included in your input line.

+6
source share

As stated in the previous post, make sure that your .dll / .lib files are in the same directory as the created .exe / .dll, and then go to the Solution Explorer project, right-click in the project name, select " Add "→" Existing Item ... ", then select the .dll / .lib file that you want to include.

You should now see the .dll / .lib file listed below in the Source Files section of Solution Explorer. I saw the same errors until I followed the steps I described.

Also, make sure that your header file is included in the project and appropriately listed in the source files.

+6
source share

Try adding the .dll and .lib to the project directory.

+1
source share

I had this problem when I was building a 32-bit application and trying to link it to a 64-bit library. Perhaps you have the same problem, or maybe the other way around. Perhaps you are trying to establish a link to a 32-bit library from a 64-bit executable.

To fix this in Visual Studio, go to Configuration Manager. Select the desired platform or create a new platform if necessary.

+1
source share

A few things for you:

  • Do you have a dll in the same directory as your exe?
  • Is your .h added to your solution?
  • Have you added the line #include "glut32.h"?
  • Try adding lib to your solution instead of project properties. (Not perfect, but it should make it compile for now)

Hope this helps, Eamon

0
source share

try it

 #pragma comment(lib, "dev\\lib\\avformat.lib") 
-one
source share

All Articles