EDN Admin
Well-known member
Previously, I have been using a makefile (someone else made it) to compile C++ libraries using the VS 8 compiler. I am trying to setup Visual Studio projects in VS 2010 so that I can debug and enjoy all the features of a modern IDE. However,
I have encountered some linking errors all of type LNK2019: Unresolved external symbol. I asked a friend who is more knowledgeable about compiling / linking C++ sources in Windows and he told me that the issue I am having is because I am referencing
shared libraries and headers that were compiled by a vendor (source code not provided) using Visual Studio 2005. In more detail, he told me:
<p style="margin:0in; margin-bottom:.0001pt <span style=" they use OFC in BaseTest.lib
<p style="margin:0in; margin-bottom:.0001pt <span style=" that;s a TSS library
<p style="margin:0in; margin-bottom:.0001pt <span style=" but BaseTest.lib uses OFC, and does not contain the object code itself
<p style="margin:0in; margin-bottom:.0001pt <span style=" it relies on dlls
<p style="margin:0in; margin-bottom:.0001pt <span style=" so thats the problem
<p style="margin:0in 0in 0.0001pt <span style="font-size:9pt; font-family:MS Shell Dlg 2,sans-serif when you link, it complains about the OFC functions
<p style="margin:0in 0in 0.0001pt
<p style="margin:0in 0in 0.0001pt I dont understand what he meant. But assuming that the vendor used Visual Studio 2005 to compile their libraries, would I be required to compile projects that use those libraries with VS 2005 only? My intuition
tells me that cannot be the case. People share shared libraries all the time and compile them using different compilers. But what if the include files (headers / windows libraries) included in Visual Studio changed? If they changed, then
it seems that it would be necessary to get an updated shared library from the vendor, compiled with the same headers and shared libraries that I am using to compile my project.<span style="font-size:9pt; font-family:MS Shell Dlg 2,sans-serif
View the full article
I have encountered some linking errors all of type LNK2019: Unresolved external symbol. I asked a friend who is more knowledgeable about compiling / linking C++ sources in Windows and he told me that the issue I am having is because I am referencing
shared libraries and headers that were compiled by a vendor (source code not provided) using Visual Studio 2005. In more detail, he told me:
<p style="margin:0in; margin-bottom:.0001pt <span style=" they use OFC in BaseTest.lib
<p style="margin:0in; margin-bottom:.0001pt <span style=" that;s a TSS library
<p style="margin:0in; margin-bottom:.0001pt <span style=" but BaseTest.lib uses OFC, and does not contain the object code itself
<p style="margin:0in; margin-bottom:.0001pt <span style=" it relies on dlls
<p style="margin:0in; margin-bottom:.0001pt <span style=" so thats the problem
<p style="margin:0in 0in 0.0001pt <span style="font-size:9pt; font-family:MS Shell Dlg 2,sans-serif when you link, it complains about the OFC functions
<p style="margin:0in 0in 0.0001pt
<p style="margin:0in 0in 0.0001pt I dont understand what he meant. But assuming that the vendor used Visual Studio 2005 to compile their libraries, would I be required to compile projects that use those libraries with VS 2005 only? My intuition
tells me that cannot be the case. People share shared libraries all the time and compile them using different compilers. But what if the include files (headers / windows libraries) included in Visual Studio changed? If they changed, then
it seems that it would be necessary to get an updated shared library from the vendor, compiled with the same headers and shared libraries that I am using to compile my project.<span style="font-size:9pt; font-family:MS Shell Dlg 2,sans-serif
View the full article