mikrocontroller.net

Forum: PC-Programmierung Probleme mit iftools (ctb-Bibliothek)


Autor: Sebastian H. (sebastian112)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche gerade iftools zu benutzen und schaffe es nicht alle 
Einstellungen richtig vorzunehmen. Kann mir vielleicht jemand helfen?

Ich habe Iftools auf WinXP installiert. Wxwidgets nutze ich auch.
Das ganze versuche ich zuerst einmal in Visual Studio 2008 zu schreiben
um es später auf ein Linux System zu übertragen.

In VS gebe ich ihm die header Files (c++/General/Additional Include
directories)
"C:\SourceCode\Libraries\wxWidgets2.8\include";
"C:\SourceCode\Libraries\wxWidgets2.8\lib\vc_lib\msw";
"C:\SourceCode\Libraries\wxWidgets2.8\lib\vc_lib\mswd";
"C:\Program Files\libctb-0.15\include"

und die dll files an (Linker/General/additional library directories)
"C:\Program Files\libctb-0.15\lib";
"C:\SourceCode\Libraries\wxWidgets2.8\lib\vc_lib"

Wenn ich nun z.B. den Befehl
ctb::SerialPort* serialPort = new ctb::SerialPort();
ausführe bekomme ich die Fehlermeldung

Error   1       error LNK2019: unresolved external symbol "public: 
__thiscall
ctb::SerialPort::SerialPort(void)" (??0SerialPort@ctb@@QAE@XZ)
referenced in function _main    main.obj        test_iftools

Error   2       fatal error LNK1120: 1 unresolved externals

Wenn ich ihm dann explizit noch die dll unter Linker/Input/additional 
dependencies angebe (ctbd-0.15.dll), bekomme ich diesen Fehler

fatal error LNK1107: invalid or corrupt file: cannot read at 0x298 
C:\Program Files\libctb-0.15\lib\ctbd-0.15.dll

Ich denke dass mein Fehler eigentlich ganz einfach ist, aber ich komme 
einfach nicht drauf... kann mir jemand helfen?

Viele Grüße,

Sebastian

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja du musst die lib angeben nicht die dll.

Autor: Sebastian H. (sebastian112)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, hast Du völlig Recht. Ich benutze nun die ctb-0.15.lib und erhalte 
immer noch die Fehler

Error  1  error LNK2019: unresolved external symbol "public: __thiscall 
ctb::SerialPort::SerialPort(void)" (??0SerialPort@ctb@@QAE@XZ) 
referenced in function _main  main.obj  test_iftools
Error  2  fatal error LNK1120: 1 unresolved externals  C:\Documents and 
Settings\Helge\My Documents\WORK\Programming\Own C++ 
programms\test_iftools\Debug\test_iftools.exe  test_iftools

Die Lib habe ich nun auch selber erstellt, keine Veränderung :-(

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann such doch mal in der lib (mit einem texteditor) ob du das symbol 
"0SerialPort@ctb@@QAE@XZ" findest. Entweder ist die lib mit anderen 
optionen Compiliert oder man kann es mit und ohne SerialPort übersetzen.

Autor: Sebastian H. (sebastian112)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das Symbol kommt häufiger vor, was es mir aber sagen soll weiß ich 
nicht.

Bin etwas ratlos im Moment....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.