Eclipse Library einbinden



  • Was versteht man unter einem Linkterkommando?

    Und wenn ich die binären Dateien erstelle kommt nur folgendes in der Konsole als Ausgabe:
    H:\C++ Workspace\FTP\Default/../src/Main.cpp:57: undefined reference to CkFtp2::put_Hostname(char const*)' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:58: undefined reference toCkFtp2::put_Username(char const*)'
    H:\C++ Workspace\FTP\Default/../src/Main.cpp:59: undefined reference to CkFtp2::put_Password(char const*)' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:66: undefined reference toCkFtp2::put_Passive(bool)'
    H:\C++ Workspace\FTP\Default/../src/Main.cpp:68: undefined reference to CkFtp2::Connect()' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:74: undefined reference toCkFtp2::ChangeRemoteDir(char const*)'
    H:\C++ Workspace\FTP\Default/../src/Main.cpp:76: undefined reference to CkMultiByteBase::lastErrorText()' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:80: undefined reference toCkFtp2::PutFile(char const*, char const*)'
    H:\C++ Workspace\FTP\Default/../src/Main.cpp:82: undefined reference to CkMultiByteBase::lastErrorText()' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:70: undefined reference toCkMultiByteBase::lastErrorText()'
    H:\C++ Workspace\FTP\Default/../src/Main.cpp:86: undefined reference to CkFtp2::Disconnect()' src\\Main.o: In function_tcf_2':
    H:\C++ Workspace\FTP\Default/../src/Main.cpp:18: undefined reference to CkFtp2::~CkFtp2()' src\\Main.o: In function_static_initialization_and_destruction_0':
    H:\C++ Workspace\FTP\Default/../src/Main.cpp:18: undefined reference to `CkFtp2::CkFtp2()'
    collect2.exe: error: ld returned 1 exit status



  • ld Main.o ... -L ... -l ...



  • Dieses Kommando gebe ich gar nicht, da das die IDE für mich übernimmt.



  • Die IDE gibt die Ausgeführten Kommandos aber aus.
    Wenn es dir allerdings zu viel Mühe macht danach zu suchen, lass es ruhig. Ich habe kein Problem.



  • Danke für den Hinweis, da ich noch nicht so lange mit c++ arbeite, weiß ich noch nicht alle Details. Ich habe noch einmal nachgeschaut und folgendes gefunden:
    Info: Internal Builder is used for build
    g++ "-LH:\\C++ Workspace\\FTP\\chilkat-9.5.0-mingw64-64-4.7.2" -o FTP "src\\Main.o" -lchilkat-9.5.0
    src\Main.o: In function `Z10ftp_uploadv':



  • Welchen Compiler hast du installiert bzw. was spuckt "g++ --version" aus? Der Bibliotheksname sieht ja nach mingw-w64 aus.

    Übersetzt du als 32 Bit und versuchst dann eie 64 Bit Bibliothek zu binden?



  • Also ich habe den Compiler MinGW installiert. Und ich habe auch die 64bit Version verwendet. Wie komme ich an die g++ --Version ran?



  • Kerb20134 schrieb:

    Also ich habe den Compiler MinGW installiert.

    Möglicherweise passt das nicht zur Bibliothek. mingw-w64 ist ein fork von mingw. Da ich aber beide nicht kenne, kann ich dazu nichts sagen.

    Kerb20134 schrieb:

    Und ich habe auch die 64bit Version verwendet.

    Unabhängig davon, ob der Compiler selber 32 oder 64 Bit ist, kann er immer auch beide Versionen erzeugen. Du könntest testweise mal -m64 bei den Compiler- und Limkeroptionen eintragen

    Kerb20134 schrieb:

    Wie komme ich an die g++ --Version ran?

    Du musst das (mit kleinem v) auf der Kommandozeile eingeben. Im Zweifelsfall mit komplettem Pfad.



  • Also bei dem Befehl g++ -v wurde auf der cmd folgendes ausgegeben:
    <path>g++ -v
    Using built-in specs.
    COLLECT_GCC=g++
    COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.9.3/lto-wrapper.exe
    Target: mingw32
    Configured with: ../src/gcc-4.9.3/configure --build=x86_64-pc-linux-gnu --host=m
    ingw32 --prefix=/mingw --disable-win32-registry --target=mingw32 --with-arch=i58
    6 --enable-languages=c,c++,objc,obj-c++,fortran,ada --enable-static --enable-sha
    red --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-sp
    ecific-runtime-libs --enable-libstdcxx-debug --with-tune=generic --enable-nls
    Thread model: win32
    gcc version 4.9.3 (GCC)

    Wo kann ich exakt dieses m64 hinschreiben, da ich kein Label hat, welches Compiler oder Linker Optionen repräsentiert.



  • Ich kenne auch Eclipse nicht. Irgemdwo bei den Settings, in denen du auch die Libs eingetragen hast.


Anmelden zum Antworten