This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Using std::basic_string<int> results in link error


Hi,

I am porting a program to GNU/Linux which uses the ICU library. Parts
of this code uses the std::basic_string<> template with the UChar32
type from ICU (http://oss.software.ibm.com/icu/apiref/umachine_8h.html#a35).
However, this results in errors at link time.

For example, this simple program does not compile(if it does, change
int to long or float or another non-char and non-wchar_t type) :

#include <string>

int main() {
       std::basic_string<int> foo;
       foo+=(int)'a';
       return 0;
}

The cause of this problem seems to be rooted in the fact that
templates are in libstdc++ instead of being compiled when using the
STL. Is there a parameter that can be passed to g++ to tell it to
compile the STL templates on the fly instead of using the precompiled
ones?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]