Visual Studio 2013

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Post Reply
HolyGeneralK
Posts: 2
Joined: Tue Sep 29, 2015 4:13 pm

Visual Studio 2013

Post by HolyGeneralK »

Hello! I am attempting to create a proof-of-concept integration of 3D Mouse Navigation into a software application my company has developed. The application uses an OSG-based 3D renderer in a Windows MFC application. We develop on Visual Studio 2013 and are looking forward to Visual Studio 2015 in a few years.

To get rolling on this, I was able to compile the sample applications in the SDK using Visual Studio 2008. I then took the same applications and upgraded the projects to Visual Studio 2013. The build completes correctly, but the linking stage fails:

Code: Select all

1>siapp.lib(siapp.obj) : warning LNK4099: PDB 'vc90.pdb' was not found with 'siapp.lib(siapp.obj)' or at 'D:\bin\3DxWare SDK\Demos\actions_settings_sample\projects\vc100\x86\Debug\vc90.pdb'; linking object as if no debug info
1>  actions_settings_sample.vcxproj -> D:\bin\3DxWare SDK\Demos\actions_settings_sample\projects\vc100\x86\Debug\actions_settings_sample.exe
I see the same error in my proof-of-concept integration, which has (thus far) proven to be a showstopper. We do not disable warnings, even if they are not major, and treat all warnings as errors.

Is there something I can do to work around this, or is there a way to provide a Visual Studio 2013-compliant static lib, or a release static lib that does not contain the debug symbols?

Thank you,
-Kevin
ngomes
Moderator
Moderator
Posts: 3321
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: Visual Studio 2013

Post by ngomes »

Hi HolyGeneralK,

The following answer was sent by our API Support team. It is copied here for completeness.
Library siapp.lib is assembled using compiler option /Zi as we require the symbols to be available for post-mortem analysis (minidump).

To prevent LNK4099 warnings, you will need to remove the “/DEBUG” linker option in your program.

https://msdn.microsoft.com/en-us/librar ... .120).aspx

It is safe to disregard LNK4099 and we recommend that you do so in this case. Unfortunately, Microsoft has elected not allow to explicitly ignore LNK4099.

If you cannot disregard LNK4099 and you must use the “/DEBUG” linker option, then one solution you may want to consider – and one that we do not recommend or have tested – is to remove or edit the “.debug$T” [section in the lib] file and reassemble the library.
Post Reply