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 toCkFtp2::put_Hostname(char const*)' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:58: undefined reference to
CkFtp2::put_Username(char const*)'
H:\C++ Workspace\FTP\Default/../src/Main.cpp:59: undefined reference toCkFtp2::put_Password(char const*)' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:66: undefined reference to
CkFtp2::put_Passive(bool)'
H:\C++ Workspace\FTP\Default/../src/Main.cpp:68: undefined reference toCkFtp2::Connect()' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:74: undefined reference to
CkFtp2::ChangeRemoteDir(char const*)'
H:\C++ Workspace\FTP\Default/../src/Main.cpp:76: undefined reference toCkMultiByteBase::lastErrorText()' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:80: undefined reference to
CkFtp2::PutFile(char const*, char const*)'
H:\C++ Workspace\FTP\Default/../src/Main.cpp:82: undefined reference toCkMultiByteBase::lastErrorText()' H:\\C++ Workspace\\FTP\\Default/../src/Main.cpp:70: undefined reference to
CkMultiByteBase::lastErrorText()'
H:\C++ Workspace\FTP\Default/../src/Main.cpp:86: undefined reference toCkFtp2::Disconnect()' src\\Main.o: In function
_tcf_2':
H:\C++ Workspace\FTP\Default/../src/Main.cpp:18: undefined reference toCkFtp2::~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.