Message during linking

Eric Lilja mindcooler@gmail.com
Thu Mar 19 13:50:00 GMT 2009


Hi, I have a small utility written in C++ that I made for cygwin 1.5.x 
and g++ 3.4.4 a few years ago. I just tried to build it under the latest 
test release of cygwin 1.7 with the latest test release of g++ 4.3.2. 
First it didn't compile due to a missing include but I remember that one 
of the things that has happened with the standard library since the old 
version is that the number of extra includes you get have been 
significantly reduced (which I like).
Anyway, I added the missing include and compilation was able to 
complete, but during the linking phase I saw this:

$ make realclean ; make
rm -f command_line.o grep.o scanner.o my_grep.exe my_grep.exe.stackdump
g++ -Wall -Wextra -std=c++98 -pedantic -Werror -c command_line.cpp
g++ -Wall -Wextra -std=c++98 -pedantic -Werror -c grep.cpp
g++ -Wall -Wextra -std=c++98 -pedantic -Werror -c scanner.cpp
g++ command_line.o grep.o scanner.o -s -o my_grep.exe
Info: resolving typeinfo for std::runtime_error by linking to 
__imp___ZTISt13runtime_error (auto-import)
Info: resolving std::cout  by linking to __imp___ZSt4cout (auto-import)
Info: resolving std::cerr  by linking to __imp___ZSt4cerr (auto-import)
/usr/lib/gcc/i686-pc-cygwin/4.3.2/../../../../i686-pc-cygwin/bin/ld: 
warning: auto-importing has been activated without --enable-auto-import 
specified on the command line.
This should work unless it involves constant data structures referencing 
symbols from auto-imported DLLs.

What does this mean? Is it a problem? Why did it happen? What do I do to 
fix it? Should I be using some flags now that I didn't even know about 
before? An executable is generated btw, even if I use -Werror during 
linking (but maybe that doesn't have any effect).

Here's the very simple Makefile that was used:
CXX = g++
CXXFLAGS = -Wall -Wextra -std=c++98 -pedantic -Werror -c
LDFLAGS = -s -o $(EXEC)
EXEC = my_grep.exe
OBJECTS = command_line.o grep.o scanner.o

all: $(OBJECTS)
	$(CXX) $^ $(LDFLAGS)

command_line.o: command_line.cpp command_line.hpp
	$(CXX) $(CXXFLAGS) $<

grep.o: grep.cpp command_line.hpp scanner.hpp
	$(CXX) $(CXXFLAGS) $<

scanner.o: scanner.cpp scanner.hpp
	$(CXX) $(CXXFLAGS) $<

clean:
	rm -f $(OBJECTS) $(EXEC).stackdump

realclean:
	rm -f $(OBJECTS) $(EXEC) $(EXEC).stackdump

- EL

PS. You don't have to email me directly, I read the list using gmane. DS.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list