[antlr-interest] Problems with linking using v2.7.7 // Code::Blocks and MinGW32

Joseph Paterson joseph.paterson at gmail.com
Mon Dec 11 01:40:56 PST 2006


Hi all,

I'm trying to compile and link a very small Lexer - Parser that I've created
to suit ANTLR v2.7.7.
The compilation of the generated C++ source files goes fine, but the linking
doesn't. I've told the linker to use the library antlr.lib located in the
lib/ sub-directory of my ANTLR install, but I get the following error
messages:

mingw32-g++.exe -LC:\MinGW\lib  -o bin\Release\LostCities.exe
obj\Release\src\Game.o obj\Release\src\MoveParser\generated\MoveLexer.o
obj\Release\src\MoveParser\generated\MoveParser.o obj\Release\src\main.o
obj\Release\src\AgentAI.o   -s  C:\antlr\277rc1\lib\antlr.lib
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x159):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x209):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x25a):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x529):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x58d):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5b3):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5d9):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5ff):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x769):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x819):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x86a):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0xb39):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0xb9d):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0xbc3):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0xbe9):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0xc0f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0xd79):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0xe29):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0xe7a):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1149):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x11ad):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x11d3):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x11f9):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x121f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1389):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1439):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x148a):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1759):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x17bd):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x17e3):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1809):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x182f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1999):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1a49):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1a9a):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1d69):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1dcd):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1df3):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1e19):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1e3f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x1fa9):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2059):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x20aa):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2379):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x23dd):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2403):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2429):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x244f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x25b9):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2669):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x26ba):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2989):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x29ed):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2a13):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2a39):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2a5f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2bc9):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2c79):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2cca):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2f99):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x2ffd):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3023):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3049):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x306f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x31df):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3299):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3301):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x35e4):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3648):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x366e):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3694):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x36ba):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3849):MoveLexer.cpp:
more undefined references to `antlr::TokenRef::~TokenRef()' follow
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3953):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3aaf):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3aef):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3b15):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3cd4):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3cfa):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x3e4e):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4091):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x40cb):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4116):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x413c):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x419f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x41c5):MoveLexer.cpp:
more undefined references to `antlr::TokenRef::~TokenRef()' follow
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x430e):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4551):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x458b):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x45d6):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x45fc):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x465f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4685):MoveLexer.cpp:
more undefined references to `antlr::TokenRef::~TokenRef()' follow
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x47ce):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4a11):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4a4b):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4a96):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4abc):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4b1f):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4b45):MoveLexer.cpp:
more undefined references to `antlr::TokenRef::~TokenRef()' follow
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4c8e):MoveLexer.cpp:
undefined reference to `antlr::nullToken'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4ed1):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4f0b):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4f56):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4f7c):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x4fdf):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5005):MoveLexer.cpp:
more undefined references to `antlr::TokenRef::~TokenRef()' follow
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5df2):MoveLexer.cpp:
undefined reference to `vtable for antlr::RecognitionException'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5e62):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5f7e):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5fa4):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5fca):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x5ff0):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x6016):MoveLexer.cpp:
more undefined references to `antlr::TokenRef::~TokenRef()' follow
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x634b):MoveLexer.cpp:
undefined reference to
`antlr::NoViableAltForCharException::NoViableAltForCharException(int,
std::string const&, int, int)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x6389):MoveLexer.cpp:
undefined reference to `antlr::TokenRef::~TokenRef()'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x640e):MoveLexer.cpp:
undefined reference to
`antlr::CharScanner::CharScanner(antlr::RefCount<antlr::LexerInputState>
const&, bool)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x643e):MoveLexer.cpp:
undefined reference to
`antlr::CharScanner::CharScanner(antlr::RefCount<antlr::LexerInputState>
const&, bool)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x646e):MoveLexer.cpp:
undefined reference to `antlr::CharScanner::CharScanner(antlr::InputBuffer&,
bool)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x649e):MoveLexer.cpp:
undefined reference to `antlr::CharScanner::CharScanner(antlr::InputBuffer&,
bool)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x6519):MoveLexer.cpp:
undefined reference to `antlr::CharBuffer::CharBuffer(std::istream&)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x653b):MoveLexer.cpp:
undefined reference to `antlr::CharScanner::CharScanner(antlr::InputBuffer*,
bool)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x65f9):MoveLexer.cpp:
undefined reference to `antlr::CharBuffer::CharBuffer(std::istream&)'
obj\Release\src\MoveParser\generated\MoveLexer.o(.text+0x661b):MoveLexer.cpp:
undefined reference to `antlr::CharScanner::CharScanner(antlr::InputBuffer*,
bool)'
........... (etc, etc)

Any idea why it could be doing this?

Thanks very much in advance,

Joseph Paterson.

-- 
Joseph Paterson
Trinity College, Royal Parade
Parkville, 3052 VIC
+61 3 9348 7227 // +61 4 0022 5518
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20061211/e5363685/attachment-0001.html 


More information about the antlr-interest mailing list