Hi Brian,
The linker is giving this error because it cannot find
the functions in question.
The order in which the object files are provided to
the linker is very important.
They should be specified in order of most specific
(application object files)
to most general (library object files).
In the makefile you provide on the forum thread, you have
lines like
$(CC) $(LDFLAGS) test.o cutoutbg.o boundingbox.o -o $@
The LDFLAGS variable contains the necessary information about the ImageMagick library files
and should come after the application object files. i.e.
$(CC) test.o cutoutbg.o boundingbox.o $(LDFLAGS) -o $@
You will need to do this everywhere LDFLAGS is referenced.
Does this help?
Joe
On 2018/08/05 3:55, Brian Chandler wrote:
Hello! I'm looking for help with a software problem. I have a small C++
program to do some basic image manipulation (basic, but very specific),
using the Imagemagick++ library; it ran on my webserver (at pair.com
hosting) for years, but stopped because of an "upgrade". I cannot now
recompile, cannot really understand the problem, and can't seem to get
any help either from pair.com or the Imagemagick forum. Here's my
question in full:
https://www.imagemagick.org/discourse-server/viewtopic.php?f=23&t=34332&sid=364f3a5fa340bcbb3d0057542983ff5f
It looks as though the loader has some problem. Unfortunately the forum
responses I've received don't suggest to me that the helpers know any
more than I do. Obviously the best answer is a change to the makefile,
or similar, that makes the library work again. But failing that, I would
try to install the library in my own server space, giving up on the one
provided by Pair.com. The worst option I suppose is to rewrite the
program to use something else, but I hope it doesn't come to that.
Can anyone suggest where to start? If I need to provide other
information, then sorry, but just say. Thanks!
Brian Chandler
|