Build c++ program for windows - c++

I have troubles running an executable compiled from a c++ source with visual studio 2015 on a recently installed windows(without installed visual) studio .
When I run it i receive this error:
-the procedure entry point terminate could not be located in the dynamic link library -path-\VCRUNTIME140.dll (the dll and the executable are in the same directory)

As tom mentioned, you seem to have a problem with redistributable package, here's how you can fix it:
Right click on your project in solution explorer
Go to properties
Under "Configuration Properties", select "General"
Look for "Use of MFC" and set it to "Use MFC in a static library"
Rebuild code
*It's recommended to do that for all your configurations (on the top-left corner, select "Configuration" as "All configurations"

Solved!
in the directory with the executable were required:
msvcp140d.dll
vcruntime140d.dll
ucrtbased.dll

Related

MyProject.dll is not a valid win32 application

I have copied a C++ solution folder written with visual studio 2013 to my Pc and tried to run it (I mean VS Debugging) with VS 2022. the solution Contains 5 projects but I just target one of them so unloaded the rest and set the one as Startup project and this error happened.
Error Image
Solution file is working well on first pc and project is not a win32 project its x64 (I don't know much from win32 or x64).
Unable to start program. [VALUE].dll is not a valid Win32 application error in Visual Studio 2017
According to this question I tried selecting project, setting as startup, repairing VS, installing vcredist_x64 but non helped.
After Running, VS make Debug folder in solution Directory not the project "LP_Dll\x64\Debug" (LP_Dll is the solution name) without any .exe file, and the error path is exactly this folder, can it be from that?
Project properties the "Configuration Type" was mistakenly changed to .dll.

Creating Visual Studio Project from CMake, Visual studio does not find executable

Basically, I've got the same question as in
How to configure CMake so that the generated Visual Studio project finds the executable?. None of the answers there worked for me.
I have a CMake project, and I just want to create a Visual Studio 2019 Project from it:
So I just run cmake . from the root directory.
Then I have a *.sln file in my root directory.
After opening it with Visual Studio 2019, I press the "Local Widows Debugger" button, it compiles successfully but then the IDE complains with:
Unable to start program 'C:\Users...\x64\Debug\ALL_BUILD'. The system is unable to find the specified file.
Using travis everything compiles fine, too: https://travis-ci.com/Necktschnagge/markov_chain_analyzer/builds/144941090
You can see the code here: https://github.com/Necktschnagge/markov_chain_analyzer/tree/old
What do I need to do so that CMake creates a VS solution, that is well-configured so that I can run the debugger?
When you create a Visual Studio solution with CMake, it automatically sets the Startup Project to ALL_BUILD. This is a CMake pre-defined target, which builds all of the projects in the solution. It is not a project containing an executable that can be debugged.
You must change the Startup Project in your Solution Explorer to one of your executable projects before debugging. You can do this by right-clicking on the project you want to debug, and selecting Set as Startup Project. There are some more instructions here if you're using VS with CMake integration.
You can also tell CMake to set a different Startup Project by default when building CMake from scratch, using VS_STARTUP_PROJECT. Put something like this in your top-level CMake file:
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT MyExeTarget)
Now, CMake will set MyExeTarget as the Startup Project in Visual Studio, instead of ALL_BUILD.

Linker: cannot open file 'nafxcwd.lib'

I have problem with compiling my project via visual studio 2013. I got this linker error:
LINK : fatal error LNK1104: cannot open file 'nafxcwd.lib'
According to this page, I must use MFC in shared library. But I don't use MFC at all.
All my libraries and main project compiled using Use Standard Windows Libraries settings. This problem occurs only when I try to build project via Visual Studio 2013 toolchain, but it successfully built with Visual Studio 2010 toolchain.
P.S. project has been moved from Visual Studio 6.0 to Visual Studio 2013.
It appears that in Microsoft Visual C++ 6.0 Standard Edition does not support statically linking with the MFC libraries as the Microsoft page says . But in Visual Studio 2013 you can link staticaly with Microsoft Libraries . Check this link https://support.microsoft.com/en-us/kb/243458 in order to solve your problem.
From The Microsoft Site :
To change your MFC project setting to link dynamically to the MFC libraries, perform the following steps:
Open your MFC project.
From the Project menu, click Settings.
In the Settings For combo box, select All Configurations. Click the
General tab. If it is not visible, use the tab scroll buttons to
scroll to the left.
In the Microsoft Foundation Classes combo box, select Use MFC in a
Shared DLL. Click OK to save the changes.
I had the same issue except it compiled on one machine but not another. Solved by installing the Multibyte MFC Library for Visual Studio 2013 as suggested in: MBCS Error building MFC C++ project with Visual Studio
To isolate the culprit that consumes MFC, link with /VERBOSE and search the output for nafxcwd. Most probably it would appear after a /DEFAULTLIB directive - just note which library was loaded exactly before the directive.
Going through updating a VS 2008 project which did not use MFC at all, I faced this same problem and fixed it doing these three steps. Please see the shot to have a glance on the properties of the project (VS 2008) highlighted.
Step-1
Please add this line #define _AFXDLL in your stdafx.h file
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#define _AFXDLL
Step-2
Go to your VS 2013 solution and open "Project Properties -> C/C++ -> Code Generation -> Runtime Library" and change the value to Multi-threaded Debug DLL (/MDd) (adjust your release configuration to Multi-threaded DLL (/MD), once you will complete these two steps you will start getting this linking error
error LNK1104: cannot open file 'mfc120d.lib'
Now, here you have to set the "Character Set" for your project to Unicode instead of _MBCS
Step-3
Now open "Project Properties -> General -> Project Defaults -> Character Set" and change the value to Use Unicode Character Set, now this part requires little more patience and work, you have to change your string traits to either wchar_t or TCHAR in your source files.
Hope it would solve your problem.

Visual C++ 2010 error. The system cannot find the file specified when running LibICP

There is a code for running libIcp for Andreas Geiger. I downloaded the code, and build the sln based on CMAKELISts.txt. Everything good so far.
According "readme.txt" I Opened the resulting Visual Studio solution with Visual Studio and Switched to 'Release' mode, build all and run the demo program. but 1st this window came up:
And Then I got this error:
Any help is appreciated.
You can not run the ALL_BUILD target it does not create an executable. It is there to force building the entire solution. Select an application target from the solution in Solution Explorer. Right click on that target and click set as start up project. This option should be around in the middle of the popup menu.

How can I run qwt examples using Visual Studio 2010?

I'm trying to run Qwt examples using VS2010. I've installed the Qt plugin for Visual Studio. I then open the .pro file of Qwt and the build succeeds. But I have no clue what to do next. Whenever I click run, it gives me a dialog which says
unable to start programe E:\qwt-6.0.1\src..\lib\qwtd.dll
Does anyone have an idea what might cause this?
I just managed to get the examples compiled using the command line tools. Key steps included:
Add the bin dir of qt and the lib dirs of qt and qwt to the path
Dont forget to run vcvars32.bat from Visual Studios bin directory
VC\bin should be in the path too
then follow the INSTALL instructions from qwt
After this I had a set of running examples in examples/bin of qwt. It's also easy to open one of them in Developer Studio with the "Open Qt Project File" option in the Qt Menu.
From the information you're giving us, it seems you have the project generating your DLL set at the StartUp project. So whenever you click on run/debug, it will try to run the output of that project, in this case a DLL. Of course this won't work.
If there is a project for the example you want to run, right click on that project within the Solution Explorer and select "Set as StartUp Project". Now when you click on run/debug, it will run the output (the executable) of the project you selected.