improved console: Link Problem
-
Hallo ich habe Microsoft Visual C++ Express Edition 2005 + Microsoft SDK 2 installiert.
Ich versuche jetzt was mit der Improved Console 4 zu basteln, ich habe die ic.hpp und die ic.cpp zu meinem Projekt hinzugefügt.
Wenn ich jetzt aber mein Programm Compiliere möchte bekomme ich Linker Fehler:
Programm:#include <iostream> #include "ic.hpp" using namespace ic; using namespace ic::shorties; using namespace std; int main(){ char eingabe; textcolor(FG_RED); cout << "Hello World" << endl; cin >> eingabe; return 0; }
Fehler:
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: void __thiscall ic::Console::hide(void)" (?hide@Console@ic@@QAEXXZ)" error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowRect@8" in Funktion ""public: int __thiscall ic::Console::getWndPosX(void)const " (?getWndPosX@Console@ic@@QBEHXZ)" error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""public: void __thiscall ic::Console::setWndPos(int,int)" (?setWndPos@Console@ic@@QAEXHH@Z)"
-
hast du die zwei dateien auch in den gleichen ordner wie die anderen cpp/hpp
dateien kopiert?
-
Ja liegen im selben Ordner wie die main.cpp
-
Link folgende Lib:
user32.lib
(In die MSDN kucken hilft^^)
rya.
-
Danke es geht, aber was ich nicht verstehe ist, die User32.Lib ist im Ordner "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib".
Ich habe diesen aber in den Einstellungen von Visual C++ als Standard Lib Verzeichnis hinzugefügt, wieso findet er die Lib nicht von selber?
-
weil er nich jede einzelne lib nach den funktionen durchsuchen kann/will.
Das musst du deinem Linker schon selber sagen.
-
achso, okey danke.
-
Ich habe ein neues Problem, mein Programm:
#include <iostream> #include "ic.hpp" using namespace ic; using namespace ic::shorties; using namespace std; int main(){ con.setTitle("Hello World"); return 0; }
ergibt:
error C2664: 'ic::Console::setTitle': Konvertierung des Parameters 1 von 'const char [12]' in 'const std::basic_string<_Elem,_Traits,_Ax> &' nicht möglich Zeile 10
-
Geht die Fehlermeldung noch weiter? Normalerweise kommt in den nächsten Zeilen noch eine Angabe ala "with _Elem=...".
(und ich würde spontan darauf tippen, daß du mit den UNICODE-Einstellungen Probleme bekommst - verwende mal
con.setTitle(_T("Hello World"));
)