Importing qt application with visual studio-link error - visual-studio-2010

I used to build a Qt application with qmake using command prompt on visual studio 2010. But, I have recently installed Qt Visual Studio add-in and have imported a qt application from .pro file on visual studio, in order to be able to programm with IDE.
However, when I try to build the application, I get the following message:
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol WinMain referenced in function __tmainCRTStartup
I know it has been said that this is a matter of choosing Windows (/SUBSYSTEM:WINDOWS) or Console (/SUBSYSTEM:CONSOLE) in the linker property of the project. However, neither option solves the problem. My Qt application uses GUI and also conole (I set CONFIG += console in .pro file).
I would appreciate if you could give me a suggestion to solve this issue.
Thanks a lot,
Daisuke

The problem is solved. I just needed to get rid of Windows::... additional option in "Linker"-"Command Line" and choose console in "Linker"-"System"

Related

error LNK1104: cannot open file 'mfc100d.lib'

I compiled program that made for VS 2010 in VS 2013, I got this error.
I did change the tool to VS 2010 (V100) and add dependencies (both mfc100d.lib and mfc120d.lib).
I also set project defaults > Use of MFC > Use MFC in Shared DLL.
I'm trying to looking for mfc100d.lib but can't find that on my computer, I just have mfc100d.dll.
Do anyone has reference to related website, so I can download mfc100d.lib?
this is my error:
error LNK1104: cannot open file 'mfc100d.lib'
I use OpenCV 3.0 and VS Ultimate 2013.
Please help me.
Thank you.

main vs. wWinMain

Summary: I'm trying to compile a NVIDIA SDK app in Visual Studio 2012 on Windows 8 and I get the error message: FXC : error X3501: 'main': entrypoint not found. I'm new to Windows programming and trying to figure out what this means.
Details:
I'm trying to compile the Multi-View Soft Shadows NVIDIA SDK app. After downloading it I had a vcproj file. I opened this in Visual Studio 2012 on Windows 8 and had some warnings during the conversion but it seemed to open the project correctly.
However, when I build the project I get the following error: FXC : error X3501: 'main': entrypoint not found.
At first I thought this might be because there is no main function in the application. But then I found the wWinMain which I guess is supposed to replace main in some Windows applications. So I think that the source code is correct, but perhaps there is some setting with Visual Studio 2012 that needs to be changed. But searching for that error message hasn't answered my question, so I'm wondering if someone can explain what the cause of the error is and any advice about how I could fix it.
This isn't a C++ problem... the shader compiler, fxc.exe, is looking in your shader code for a function called main. It isn't finding it and throws an error as a result. Right click on your HLSL files and go to Properties -> Configuration Properties -> General. There should be an Item Type field. Change it from HLSL Compiler to Does not participate in build. That should prevent the HLSL compiler from coming along and giving you those errors.
You need to change (in Project Properties -> Linker -> System -> SubSystem) the subsystem of your application from CONSOLE to WINDOWS. After that, the entry point will be changed from Standard C/C++ main to Windows-specific wWinMain.

Visual Studio error while trying to run project

I have the following scenario:
Visual Studio 2010 solution with one WPF-project, output file is "Tool.exe"
Eclipse Shared Library project, output file is "Tool.dll"
I place the dll in the same folder as the exe and then I try to debug using Visual Studio; but I get the following error:
Error while trying to run project: Could not load file or assembly 'Tool' or one of its dependencies. The module was expected to contain an assembly manifest.
I have managed to find a solution to the problem, rename the dll, apparently the exe and dll cannot have the same name. My question is, why is this error occuring in the first place? Why does the name of the dll affect Visual Studio? The error occurs before even trying to pinvoke the dll. If I run my application without Visual Studio it works perfectly, but I want to be able to debug it of course.
Right now renaming the dll is plan B, but before I do that I would like to know if there is anything else I can do to fix this problem?
Thanks in advance.
I found simple steps to solve this error.
1- change your windows.
2- install Symantec Endpoint Protection Client 12.1.6318.6100 x32 or x64 bit.
You can geting it software(32 bit) from link: (ftp://192.168.168.215/Public/Antivirus/Symantec/Symantec Endpoint Protection Client 12.1.6318.6100 x86.rar)
drag and drop it to your software(IE ,....) to work.
3- install all driver on your computer.
4- install Visual studio.
End

Visual Studio 2010 , QT and intellisense/highlight error

Hi have a problem with VisualStudio 2010 and the QT5 plugin, it seems that VisualStudio doesnt recognize the QT Library (despite i have installed the plugin and followed the whole procedure).
This is what I see:
https://www.dropbox.com/s/yyzvfev0zoj8x9n/visualstrudel.jpg
So the IDE highlights the QT stuff like if the files were not present, and Intellisense is not working. But, If I compile the application, it compiles without error and works like a charm.
What could be the cause of the highlight/Intellisense issue?
You cannot launch Visual Studio 2010 directly.
You will need to launch the QT 5.0.1 for Desktop(MSVC 2010) command line from Program Files->Qt 5.0.1->5.0.1
After which you will need to run the vcvarsall.bat and devenv after.
x:\program files(x86)\Microsoft Visual Studio 10.0.\VC\vcvarsall.bat
x:\program files(x86)\Microsoft Visual Studio 10.0.\Common7\IDE\devenv.exe
This is applicable to VS2012 and Qt4.5.0, though I believe Qt version does not matter.
I am not sure if it is the same/similar to VS2010, but I stumbled upon this post while looking the answer to the same question for VS2012.
Here is what you can do:
Right-click the project in your solution and select Properties.
Select Configuration Properties -> VC++ Directories.
Edit Include Directories entry.
Add $(QTDIR)\include\QtCore and any other (required by your project) Qt folders to the list (it depends what Qt headers you are using).
This has to be done to every project in your solution that uses Qt, unfortunately.
Now, there is another note:
We were transferring our solution from VS2005 to VS2012 and that problem happened to me when I converted the solution 2005->2012 BEFORE setting the QTDIR environment variable.
When I re-converted the solution again (AFTER *QTDIR* variable was created) the problem didn't appear. So make sure you have this variable before you open/convert your solution for the first time.
Based on the previous note, I believe that some information related to the issue is stored in one of the following files: .sdf and/or .v11.suo.
So closing VS, deleting these files and opening VS again might help. Just back them up before you do it - I haven't tried it myself (I just re-imported the whole solution which generated these files anew).

Linkage Error LNK1104 in Visual C++ 2010

Today I fired up Visual Studio 2010 (Visual C++) and started working on a project. The solution contains two projects. One is a static library I am writing, the other is a test application containing unit tests for the library.
Without changing anything from yesterday, the executable no longer links:
LINK : fatal error LNK1104: cannot open file 'mylib.lib'
The static library compiles and links fine. I have not changed the project settings in around a week, and it was linking just fine yesterday.
If I go into the executable project's settings and add a library directory for $(SolutionDir)\debug, I instead get the following link error:
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
I am not sure what the problem is. I have tried cleaning, rebuilding, and even rebooting my machine. Google turned up some bugs in ancient Visual C++ versions (but I'm using 2010), as well as the possibility that the program is already running. However, it is not running, and a reboot confirms this.
What would cause the linker not to find core libraries such as kernel32.lib, or for that matter, the output directory for my solution?
This is old-fashioned C++, a cross-platform library, not that managed stuff Microsoft added.
I had to check "Inherit from parent or project defaults" in the "Library Directories" dialog. Once I did that, the linker could find all the necessary libraries. I still had to include $(SolutionDir)\debug though.
Include the microsoft SDK directory in project->properties->linker->general->additional library directories.
on my computer it is
D:\Program Files\Microsoft SDKs\Windows\v7.1\Lib
I fixed this problem by disabling "Enable .NET Framework source stepping" (see: "Menu bar / Tools / Options / Debugging / General / Enable .NET Framework source stepping"). Apparently this is a bug in Visual Studio.

Resources