Boost logo

Boost-Build :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2002-07-14 12:05:18

I'm trying to set jam-based testing for the filesystem library I'm working
on. It requires a library.

I created a Jamfile in boost-root/libs/filesystem/build:

# Boost Filesystem Library Build Jamfile

subproject libs/filesystem/build ;

SOURCES = exception operations_posix_windows path_posix_windows ;

lib filesystem : ../src/$(SOURCES).cpp
: <include>$(BOOST_ROOT) <sysinclude>$(BOOST_ROOT)
: debug release

bjam in this directory appears to build the libraries as expected with all
compilers tested.

I then added the following to my local copy of boost-root/status/Jamfile:

test-suite "filesystem"
: [ run libs/filesystem/test/path_test.cpp
<lib>../libs/filesystem/build/filesystem ]

and invoked bjam: bjam -sTOOLS=msvc path_test

This resulted in link errors; the symbols from the library are undefined.
See error messages below (shortened to show only one error).

What am I doing wrong?

Where is <lib> documented for use in regression tests? I found docs for
using <lib> to reference a lib in the same Jamfile, but in an external
Jamfile. I tried just copying what threads and regex do, but that resulted
the in the unreferenced externals.



...found 161 targets...
...updating 3 targets...
path_test.obj : error LNK2001: unresolved external symbol "public:
__thiscall bo
ost::filesystem::path::path(class std::basic_string<char,struct
error LNK1120: 10 unresolved externals

"link" /nologo /DEBUG
ime-link-dynamic\path_test.exe" /LIBPATH:"x\lib"

...failed vc-Link
***************** failed above test: path_test ********************
...failed updating 1 target...
...skipped 1 target...
...updated 1 target...


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at