Boost logo

Boost :

From: SourceForge.net (noreply_at_[hidden])
Date: 2005-09-15 16:07:52


Support Requests item #1292345, was opened at 2005-09-15 21:07
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=207586&aid=1292345&group_id=7586

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Adrian Grigore (pluggy13)
Assigned to: Nobody/Anonymous (nobody)
Summary: Linker Problems with VC .NET 2003 / STLPort / Boost

Initial Comment:
Hi,

I have been trying for over 2 days to install Boost in
VC .NET 2003 alongside with STLPort , and despite
several different settings, I am always getting the
same linker errors.

First I tried using STLPort 4.6.1 with boost 1.32.
Here's a short, but complete description of what I have
tried:

First I downloaded and unzipped STLPort 4.61. Then I
ran the vcvars batch and installed STLPort with

nmake clean all -f vc71.mak
nmake install -f vc71.mak

Then I Installed boost 1.32 with

bjam "-sTOOLS=vc-7_1-stlport"
"-sSTLPORT_PATH=C:\...\stlport"
"-sSTLPORT_VERSIONS=4.6.1" "-sstlport-iostreams=on" install

This takes a while to complete, but seems to work fine
except for a few errors with the datetime package,
which I am not using anyway. I entered the boost /
stlport header and lib directories into Visual studio
and made sure they are on top of the other include
directories.

Then I created a dummy project with the following files:

stdafx.h:

--->>>>
#ifdef NDEBUG
# undef _STLP_DEBUG
#else
# define _STLP_DEBUG 1
#endif

#define BOOST_LIB_DIAGNOSTIC

#include <iostream>
#include <tchar.h>
<<<---

and the main.cpp:

--->>>>
#include "stdafx.h"

#include <boost/filesystem/convenience.hpp>

#include <vector>
using namespace _STL;

int _tmain(int argc, _TCHAR* argv)
{
//forcing native mode in boost paths just to make sure
that boost::filesystem has to be linked successfully
boost::filesystem::path::default_name_check(boost::filesystem::native);
vector<int> test;
test.push_back(1);
vector<int>::iterator Iter=test.begin();
Iter++;
int testint=*Iter; // iterator overrun error just to
see if the debug mode is working nicely
return 0;
}
<<<---

When I try to compile it, it fails with the following
liker errors:

--->>>>
Compiling...
stlport-boost-test.cpp
Linking to lib file:
libboost_filesystem-vc71-mt-sgdp-1_32.lib
Linking...
stlport-boost-test.obj : error LNK2019: unresolved
external symbol "public: static void __cdecl
boost::filesystem::path::default_name_check(bool
(__cdecl*)(class _STL::basic_string<char,class
_STL::char_traits<char>,class _STL::allocator<char> >
const &))"
(?default_name_check_at_path@filesystem_at_boost@@SAXP6A_NABV?$basic_string_at_DV?$char_traits_at_D@_STL@@V?$allocator_at_D@2@@_STL@@@Z_at_Z)
referenced in function _main
stlport-boost-test.obj : error LNK2019: unresolved
external symbol "bool __cdecl
boost::filesystem::native(class
_STL::basic_string<char,class
_STL::char_traits<char>,class _STL::allocator<char> >
const &)"
(?native_at_filesystem@boost@@YA_NABV?$basic_string_at_DV?$char_traits_at_D@_STL@@V?$allocator_at_D@2@@_STL@@@Z)
referenced in function _main
Debug/stlport-boost-test.exe : fatal error LNK1120: 2
unresolved externals

Build log was saved at "file://e:\documents and
settings\Wunibald Wunderlich\My Documents\Visual Studio
Projects\Finity Engine VS
2003\stlport-boost-test\Debug\BuildLog.htm"
stlport-boost-test - 3 error(s), 0 warning(s)
<<<---

It is obvious from the compiler output that
libboost_filesystem-vc71-mt-sgdp-1_32.lib was linked,
yet the compiler complains about unresolved symbols.

When I comment out the line related to
boost::filesystem from tmain(), it works perfectly. But
I need boost::filesystem and quite a few other
libraries for my real projects, so this is not an
option. Also, I have no problem linking to boost when
not using stlport, but I'd really like to take
advantage of the neat debuging mode built into stlport.

Someone from the STLPort forums suggested that I might
try the latest CVS versions for boost and STLPort, so I
did this yesterday (14th of Sept. 2005). I made sure
that what I downloaded from CVS was indeed STLPort 5.0
/ Boost 1.33, I recompiled everything and changed the
headers path to the new version, but the problem stayed
absolutely the same.

I am really clueless on how to proceed. I have also
tried posting to the boost and stlport forums, but
nobody seemed to be able to help. Any help would be
immmensely appreciated. Thanks!

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=207586&aid=1292345&group_id=7586

-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Boost-bugs mailing list
Boost-bugs_at_[hidden]
https://lists.sourceforge.net/lists/listinfo/boost-bugs


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk