On Thu 22 Jan 2004, Seon Joo Kim wrote:
> The libraries I initially linked were vil.lib and vcl.lib .
> If I run these, there are bunch of linking errors with vil_png.obj ,
> vil_tiff.obj, vil_stream_url.obj, vil_jpeg_decompressor.obj, and
If you are specifying your own link line, then you will have to track
down the dependencies yourself. Look at the lines
TARGET_LINK_LIBRARIES for each library, and follow it through to the
end. For example, if you use vil, then, from core/vil/CMakeLists.txt,
you will see that vil depends on vcl, and additionally, on Windows, on
ws2_32, and on Solaris, nsl, vil_network and socket. Also, depending
on which graphics libraries where found, on jpeg, on tiff, on png, on
dcmtk. Since you are on Windows, the latter libraries are probably
from vxl_src/v3p/jpeg, etc.
> vil.lib(vil_stream_url.obj) : error LNK2001: unresolved external symbol
> png.lib(png.obj) : error LNK2001: unresolved external symbol _crc32
> png.lib(pngwrite.obj) : error LNK2001: unresolved external symbol
> _deflate .
png.lib depends on zlib.lib.
> I thought linking to just vil.lib would have no problems but apparently
> there are some problems.
The easiest way to do this is to use CMake. See the VXL book. In
particular, section B.3. contains an example CMakeLists.txt file for
using VXL in your source tree.
See also the CMake documentation at http://www.cmake.org.
> Does anyone know what I am doing wrong here?
> Or is it still a installation problem(something wrong with the
The only thing is that you haven't fully resolved all the
dependencies. They are encoded in the CMakeLists.txt files, so you
could track them down. However, it's easiest to just use CMake.