Where does VC++ 2008 linker find libraries? - linker

I have VC++ 2008 C++ .DLL project that uses Opends60.lib (it is listed in Linker/Input/Additional Dependencies as "Opends60.lib")
I ported this project to VC++ 2010 (in different folder) and now link step fails with message:
Error 3 error LNK1181: cannot open input file 'opends60.lib'
So I figured I need to copy library from somewhere in 2008 project folder to 2010 project folder. Problem is - that library is nowhere to be found in 2008 project folder or anywhere on my hard drive!!! It is a mystery how 2008 project gets linked but somehow it does. Removing this library from 2008 project causes a bunch of unsolved externals, so it is found somewhere by linker.
Question: is there a way to find out where exactly linker from VC++ 2008 is finding this library?

In a nutshell - I used Windows Explorer (on Vista) to search for this file and it turns out by default it doesn't search in System and Program Files. More details is here:
https://superuser.com/questions/327699/windows-explorer-doesnt-search-system-or-program-files

Related

Error SQL0: The reference to external elements from the source named 'MyDatabase.dacpac' could not be resolved, because no such source is loaded

I'm getting this error when using sqlpackage.exe, or the DacFx DLLs, to programmatically publish a dacpac (A), compiled and provided by a different team, which in turn has a dependency on another dacpac (B).
I can confirm that:
The reference to B from A has the "Suppress Reference Warnings" to True
The B .dacpac file is in the same folder as the A .dacpac file
I have tried with 2 different versions of Microsoft.SqlServer.Dac.dll, 12.0.2882.1 and 14.0.3881.1
Both dacpacs have the setting to target SQL Server 2012, and I am attempting to publish to SQL Server 2012
I have tried both with the IncludeCompositeObjects deploy options set to true, and to false
What am I doing wrong? How can I publish a dacpac that has been compiled and provided to me, which has a database reference that is referenced with a path that is invalid for me?
This can occur when you switch between editions of Visual Studio. In my scenario, I originally built a database project using VS2017 Professional Edition. When I switched to VS2017 Enterprise Edition, I received a bunch of The reference to external elements from the source named 'master.dacpac' could not be resolved, because no such source is loaded. errors on build (it also occurs when building in Enterprise first, then switching to Professional).
I resolved this as follows:
Close Visual Studio;
Delete the *.dbmdl, *.jfm and *.user files in the project root folder;
Re-open Visual Studio and re-build.

Visual Studio 2015 CE Setup Installer: Redistributable Package

I have my my setup project in (Visual Studio 2015: Community Edition) ready to be built and create my program installer. But, obviously the program will not work on other computers without the appropriate redistributable package installed on the clients computer.
So, I need to set that up in my project but I do not know how. I read in a post on another site that it is located in:
Project>>Setup Properties>>Prerequisites
But, all I just see are selectables for ".net framework" related things. Also, I read that merge modules are not good to use due to servicing issues.
If you have any insight into whether I am needing to download an extension for the correct prerequisite to appear, use merge modules, or something else it will be greatly appreciated!

Running a C program written in Visual Studio 2013 on other pc

Every time I write a C program using Visual Studio 2013 the .exe file only runs on my PC. When I copy that .exe file to other PC it doesn't run. But if I use Code Blocks IDE instead the .exe file runs in all PCs. Why? and how can I make a 'C program' written in 'Visual Studio 2013' run on every PC?
It's because of the 2013 runtime libraries1, you need to download the redistributable and install it into the target computer.
You can download it from here.
1The file is called msvcr120.dll if you compiled with the VS 2013 ("v120") platform toolset, and otherwise follows the pattern msvcrNNN.dll.
In your project settings, change the Runtime Library support to Multi-threaded (/MT) instead of the default, which is Multi-threaded DLL (/MD). This will cause your .exe to be statically linked, and it won't need to look for the runtime libraries on the target machine. (I think it's under C/C++ Code generation, but I don't have visual studio 2013 installed at that moment to verify that).
The resulting .exe will be bigger (because it has to link in all the parts of the runtime that you use), but it simplifies deployment on other machines - no need to install the redist package.

Cannot open .csproj-file with Visual Studio C# 2010 Express

I'm trying to open this project (https://github.com/shtejv/ARDrone-Control-.NET) downloaded from the internet but just when I open the project this error appears: "The project type is not supported by this installation."
It also shows the solution corresponding to that project as unavailable.
What can I do? maybe should I download a newer version of Visual Studio?
EDIT: The project that is causing the fail is called ARDrone_Testing so maybe it's a unit testing project so I'll need the full version of VisualStudio2010. I read it in this post!
SOLUTION: It finally works properly, I've just finished installing vs2013 professional and open the project without any problem!
Thank you all!
I'm looking at the .sln file and it is created with Visual Studio 2010:
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
What project is failing? (the name of the project)
Additional dependencies like DirectX shouldn't affect the project loading.

I can't create a database diagram in VS2010 for SQL Server Express

For some reason, when I click Add Diagram in Server Explorer I am left with an empty tab for designing diagrams. However, there is no dialog box which usually asks what tables to add. The dropdown menu at the top called Diagrams also has all the buttons inactive.
What could be the reason?
I have my SQL Server Express running (checked in SQL Server Configuration Manager). Version - 10.1.
I switched to Visual Studio 2012 and I can build diagrams there. VS2010 on the same machine still has problems. VS2010 on my other computer - no problems. Still don't know what could be the issue.
After running into this problem in Visual Studio 2010, I switched to using SQL Server Management, but got the same problem. After doing some searching, I found two articles that were able to fix this for me. The discussion here:
http://social.msdn.microsoft.com/Forums/en-US/d65c71f5-3887-4f2a-bbd3-e799a4ac6fdc/visual-studio-database-tools-error?forum=vstsdb
has information that installing a newer beta version installs the visual database tools for 2012, but when uninstalling does not set it back to the older version. There were two locations for files that had to be replaced. The directory and file name of the DLL (on an X64 machine) is: C:\Program Files (x86)\Common Files\microsoft shared\Visual Database Tools\dsref80.dll
There is a link to the dll in the posting.
There was also a second folder some people had to replace, which was also referenced at this link:
http://harshgupta71.blogspot.in/2013/02/the-specified-module-could-not-be-found.html
The directory and file name of the DLL (on an X64 machine) is: C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8
There was a download to the replacement files as well.
The other option instead of downloading these files is to rename the files/folders and then do a repair/reinstallation.
I think that installing/re-installing the SQL Server Data Tools extension for VS 2010 should fix this problem.
You can download it here:
http://visualstudiogallery.msdn.microsoft.com/9b0228c6-15d1-44de-9279-66dde12bf861

Resources