Was ist das für ein Fehler ?

04/15/2012 16:10 Susssi23#1
Mein Code
Code:
#include "stdafx.h"
#include <windows.h>
#include <iostream> 
using namespace std; 

int main()
{
	HWND LC; 

	LC = FindWindow(0,TEXT("Last Chaos - Aeria Games & Entertainment"));

		if(!LC) // Also das Fenster nicht vorhanden ist...
		{
		cout << "Last Chaos ist NICHT da " << endl; 
		}
		else  
		{
		cout << "Juhuu" << endl; // gebe das aus
        cout << "Fensterhandle: " << LC << endl; // Wir können uns das Handle auch nochmal angucken ...
		}
	cin.get(); 
}
Der Fehler =(
Code:
>Versuchneu.obj : error LNK2028: Nicht aufgelöstes Token (0A000343) ""extern "C" struct HWND__ * __stdcall FindWindowW(wchar_t const *,wchar_t const *)" (?FindWindowW@@$$J18YGPAUHWND__@@PB_W0@Z)", auf das in Funktion ""int __cdecl main(void)" (?main@@$$HYAHXZ)" verwiesen wird.


1>Versuchneu.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" struct HWND__ * __stdcall FindWindowW(wchar_t const *,wchar_t const *)" (?FindWindowW@@$$J18YGPAUHWND__@@PB_W0@Z)" in Funktion ""int __cdecl main(void)" (?main@@$$HYAHXZ)".


1>C:\Users\(mein Name =))\Desktop\Lehre\C++\LC_pro\Debug\Versuchneu.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
Danke im Vorraus
04/15/2012 16:54 Tyrar#2
FindWindowW wurde nicht aufgelöst

lösung: user32.lib linken
04/15/2012 16:58 MrSm!th#3
Die muss eigentlich nicht manuell gelinkt werden.
04/15/2012 17:04 Tyrar#4
Quote:
Originally Posted by MrSm!th View Post
Die muss eigentlich nicht manuell gelinkt werden.
wie du siehst doch, kann aber damit zusammen hängen dass evtl. das platform sdk nicht installiert ist -> keine user32.lib vorhanden
04/15/2012 17:11 .SkyneT.#5
Code:
FindWindowA(0,L"Last Chaos - Aeria Games & Entertainment");
Versuch das zu verwenden.
Und nach cin.get() darf ein return rein :rolleyes: .

(falls multibyte eingestellt ist kannst du das L vor dem string weglassen)
04/15/2012 17:15 Tyrar#6
Quote:
Originally Posted by .SkyneT. View Post
Code:
FindWindowA(0,L"Last Chaos - Aeria Games & Entertainment");
Versuch das zu verwenden.
Und nach cin.get() darf ein return rein :rolleyes: .

(falls multibyte eingestellt ist kannst du das L vor dem string weglassen)
das wird nicht funktionieren, FindWindowA verlangt ansi strings ;)
04/15/2012 17:30 MrSm!th#7
Quote:
Originally Posted by HeavyHacker View Post
wie du siehst doch, kann aber damit zusammen hängen dass evtl. das platform sdk nicht installiert ist -> keine user32.lib vorhanden
Muss man nicht, da muss irgendein anderer Fehler vorliegen wie zb. das von dir erwähnte fehlende SDK.

Allerdings müsste dann eine Fehlermeldung kommen, dass weder Header noch die user32.lib vorhanden sind.
04/15/2012 17:54 Susssi23#8
Quote:
Originally Posted by HeavyHacker View Post
FindWindowW wurde nicht aufgelöst

lösung: user32.lib linken
unter Linke -> Eingabe ist bei mir nix angewählt.... schlimm?

habe jetzt Zusätzliche Abhängigkeit =%(AdditionalDependencies) gesetzt
und Standarte Bibliotheken ignorieren = nein

Fehler ist weg.

habe das Fenster nicht gefunden, aber das wird noch danke die, euch =)
04/15/2012 17:59 MrSm!th#9
Ok, eine Fehlkonfiguration kann sowas natürlich verursachen, ansonsten muss man es wie gesagt nicht manuell linken.
04/15/2012 18:08 Susssi23#10
Quote:
Originally Posted by MrSm!th View Post
Ok, eine Fehlkonfiguration kann sowas natürlich verursachen, ansonsten muss man es wie gesagt nicht manuell linken.
Habe seit der Installation kaum was gemacht, wie kann ich das einstellen, dass ich dies nicht manuell einfügen brauche.