Re: Rückgab e von mehrdimensionalem String in C++

Andreas Fett <[email protected]>
Newsgroups gmane.user-groups.linux.dresden
Message-ID <[email protected]>
Hallo,

On Wed, May 04, 2022 at 10:59:16PM +0200, Sebastian Reinhardt wrote:
> Danke für den Tipp und die ganzen Hinweise. Ich habe mir nun eine
> Headerdatei mit der Deklaration erstellt und diese in die Datei mit den
> eigentlichen Leseroutinen eingefügt. Auch in der Datei mit dem Aufruf der
> Funktion habe ich die Headerdatei eingefügt. Nun läuft zwar der Compiler
> durch, aber der Linker wirft einen Fehler:
> 
> -------------
> 
> make
> g++ -g src/zero_controller_SNR.o src/lib/i2c_lcd/lcdDriver.o
> src/lib/i2c_lcd/i2cControl.o src/lib/display.o src/lib/sensor.o
> src/lib/read_csv.o src/lib/init_hw.o -o zero_controller_SNR -lpthread
> -lpigpio -lrt
> /usr/bin/ld: src/lib/init_hw.o: in function
> `ZEROHW::init_hw(std::vector<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<cha
> r> > > > const&)':
> init_hw.cpp:(.text+0x60): undefined reference to
> `READCSV::read_config_files(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::vector<csv_values, std::allocator<csv_values> >&)'
> collect2: error: ld returned 1 exit status
> make: *** [Makefile:20: all] Fehler 1
> -------------
> 
> Was ich nicht verstehe ist, warum die Funktion undefiniert ist, wenn ich in
> der "init_hw.cpp" über die Header-Datei "read_config_files.hpp" diese
> Funktion und auch die Struktur ja eigentlich definiert haben sollte und der
> Compiler diese auch kennt/ findet......?

Der Compiler hat kein Problem. Dh. Header File etc. is ok. Dort hat
der Linker nen Problem. Dh. einer der .o Files die Du in einem Aufruf
übergibst referenziert die Funktion, aber der .o File in dem der Code
dafür ist steht nicht mit auf der Commandline (oder das was in dem .o
File ist entspricht nicht dem was im Header declariert wurde)

Grüsse
Andreas
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEJ6Jq1qpfVQ9CLff4NMc/tuPtDEAFAmJy7nIACgkQNMc/tuPt
DED+XQ//bcboDYjIcyQrgLD/3e804stYqyTD4uhItG+8i6WbAtB5RXdFaO+Bl30b
zvBEeQ+ky2a/q99uj0eyHp8642iFNlhssCqDuxFXu4RvXMdPbRafCY2qfdKEqs3w
ZYAPCXR39qhjykKQ6VPyd20pXTxDFlWuN5ihFph7HLQjU6cti7WLItUqJxbJtgDJ
qevvhWMWCNNxToQsYE9SB2fhgDZor8+GkpRzmVG91TRP94lSBZLEJYu/7ouD1mt7
1FWq4QjjOew+XGxdLNtuNAUTUJTZ6BkyJYogR6g19y+Se8pasFPK8NUF1/O4SVwP
DgR8bcHgvBveuKfAhUiRRLfyhvZLH4QoZEuFsnD5k4+CJILODpZ21nQfJtbflktm
SJ5agLrRyLXQM+mJIF7tqeS4n+HdJG5zARQ3dVwgVra6MBzOZK/v9pZ7V0glIJAn
4WUKhToiUN0VCF3Bg6O245nMspQDYlEDGeYMTmzttDO00s2ii6HgDBQtrE/B8ICI
Tlp58Mv8IqaSoce4eRBWZz7OXU1hRLzDQiHTXtWbg/D1TH+FOx8p552M7LkhKBhX
ER2Vp42jS31x13EnAtgwOmc1eWq99v8wnNywxDplDH7xBCXEkbY58kSDOx/HvmAq
3Kayumczb4RbU7zf4vCvkwEKZlxgBKKzh7/YfKV5ZbXHQO+pM5A=
=ImJZ
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.