Page 1 of 1

noob c++ coder needs help

PostPosted: Sat Sep 10, 2016 00:58
by bobomb
I have forked the minetest core to attempt to add support for an image library called vips. here is a sloppy commit for what I have done.

https://github.com/bobombolo/minetest/tree/rtmapgen

as soon as I add the line

https://github.com/minetest/minetest/co ... eb65586R35

I get a compiler error:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
CMakeFiles/minetest.dir/mapgen_realterrain.cpp.o: In function `MapgenRealterrainRaster::MapgenRealterrainRaster()':
mapgen_realterrain.cpp:(.text+0x159b): undefined reference to `vips::VImage::new_from_file(char const*, vips::VOption*)'
mapgen_realterrain.cpp:(.text+0x15a8): undefined reference to `vips_object_get_type'
mapgen_realterrain.cpp:(.text+0x15c1): undefined reference to `g_type_check_instance_is_a'
mapgen_realterrain.cpp:(.text+0x15e1): undefined reference to `g_assertion_message_expr'
mapgen_realterrain.cpp:(.text+0x15f2): undefined reference to `vips_object_get_type'
mapgen_realterrain.cpp:(.text+0x160b): undefined reference to `g_type_check_instance_is_a'
mapgen_realterrain.cpp:(.text+0x162b): undefined reference to `g_assertion_message_expr'
mapgen_realterrain.cpp:(.text+0x163b): undefined reference to `g_object_ref'
mapgen_realterrain.cpp:(.text+0x1648): undefined reference to `g_object_unref'
mapgen_realterrain.cpp:(.text+0x1656): undefined reference to `vips_object_get_type'
mapgen_realterrain.cpp:(.text+0x166f): undefined reference to `g_type_check_instance_is_a'
mapgen_realterrain.cpp:(.text+0x168f): undefined reference to `g_assertion_message_expr'
mapgen_realterrain.cpp:(.text+0x16a2): undefined reference to `g_object_unref'
CMakeFiles/minetest.dir/mapgen_realterrain.cpp.o: In function `vips::VObject::~VObject()':
mapgen_realterrain.cpp:(.text._ZN4vips7VObjectD2Ev[_ZN4vips7VObjectD5Ev]+0x12): undefined reference to `vips_object_get_type'
mapgen_realterrain.cpp:(.text._ZN4vips7VObjectD2Ev[_ZN4vips7VObjectD5Ev]+0x2b): undefined reference to `g_type_check_instance_is_a'
mapgen_realterrain.cpp:(.text._ZN4vips7VObjectD2Ev[_ZN4vips7VObjectD5Ev]+0x4b): undefined reference to `g_assertion_message_expr'
mapgen_realterrain.cpp:(.text._ZN4vips7VObjectD2Ev[_ZN4vips7VObjectD5Ev]+0x5f): undefined reference to `g_object_unref'
collect2: error: ld returned 1 exit status
src/CMakeFiles/minetest.dir/build.make:5347: recipe for target 'bin/minetest' failed
make[2]: *** [bin/minetest] Error 1
CMakeFiles/Makefile2:150: recipe for target 'src/CMakeFiles/minetest.dir/all' failed
make[1]: *** [src/CMakeFiles/minetest.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

note to compile this you need to install libvips-dev

anyway I am just taking a shot in the dark that someone is bored.

PostPosted: Sun Sep 11, 2016 09:06
by Hybrid Dog
idk, maybe you need to add a flag to src/CMakeLists.txt

Re: noob c++ coder needs help

PostPosted: Sat Sep 17, 2016 17:04
by Infernus
Missing an include? Have you tried to clear your project?

Re: noob c++ coder needs help

PostPosted: Tue Sep 20, 2016 21:04
by sfan5
You need to modify the CMake scripts to search for the image library and have it added the the list of linked libs.