At 02:11 PM 12/9/2003, Scott Meyers wrote:
I'd like to play with boost::filesystem, and this turns out to be the first boost library I've tried to use that requires that I build something first. I downloaded bjam, and it appears that I have successfully built filesystem libraries for the compilers I care about (VC6, VC7.1, gcc, and como), because there is a subdirectory for each of them under the libboost_filesystem.lib directory, and each subdirectory, if you push down far enough, has .obj files under both debug and release.
But I can't get anything to link. I can get the sample filesystem app (simple_ls.cpp) to compile cleanly under all compilers, but nothing will link. It seems clear that I somehow need to tell the linker where to find the appropriate filesystem libraries, but I'm not sure where to point it. Help?
I'm running Windows 2000.
Here is a gcc command that works for me (after the libraries have been built): g++ -Wall -ftemplate-depth-100 -g -O0 -fno-inline -I "C:\boost\site" -o simple_ls.exe C:/boost/site/libs/filesystem/example/simple_ls.cpp d:\boost-regr\bin\boost\libs\filesystem\build\libboost_filesystem.lib\gcc\debug\libboost_filesystem-gcc-d-1_31.lib This is based on my machine's paths, and the latest Boost CVS. You may have to adjust paths or library name according to your machine and which release you have. If you are just fooling around, it is also easy just to include each of the boost-root/libs/filesystem/src .cpp files in your compile. On a modern machine, it doesn't take long. Or create an IDE workspace/solution/project to build the library, and then make it a dependency of your program. HTH, --Beman