|
Boost : |
From: Matthias Schabel (boost_at_[hidden])
Date: 2008-08-14 14:46:21
Attempting to compile and link the following code with a default build
of 1.36 on OS X 10.5.4 (Intel)
// test.cpp
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
//#include <boost/system/error_code.hpp>
//#include <boost/system/system_error.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
int main (int argc, char * const argv[])
{
boost::filesystem::create_directory("blah");
return 0;
}
results in a linker error, even though the method in question is
defined inline in <boost/system/error_code.hpp> :
Undefined symbols:
"boost::system::error_code::message() const", referenced from:
boost::system::system_error::what() constin ccyMBSNr.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
This is reproducible both from a clean XCode 3.0 project and from the
command line :
gcc test.cpp -I/usr/local/include -I .. -L/usr/local/lib -
lboost_filesystem-xgcc40-mt -lboost_system-xgcc40-mt -lstdc++
Uncommenting the explicit includes doesn't help, either. This is a
weird one...
Matthias
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk