大家好:快速的问题:我是在一个情况下这将是只使用“GCC”(无G ++)来生成我的C ++可执行有用。 原因是,我必须的代码提交到不能识别的自动提交服务器“克++”(或“C ++”,就此而言)命令。
在我的实验,而我的gcc 编译效果很好。 问题是,当我尝试它被搞砸生成的目标文件链接。 现在,基于我从海湾合作委员会手册页了解(我可能是遥远,所以告诉我,如果我),G ++基本上是GCC,但它链接的C ++库。
如果这是真的,我怎么能(如果可能)显式链接C ++库,而无需使用G ++(或C ++)命令?
编辑:我添加Makefile来更好地说明问题:
COMPILER = gcc
CFLAGS = -Wall -g -x c++
# MODULE COMPILATION
model: modules/model.h modules/sources/model.cpp
$(COMPILER) $(CFLAGS) -c modules/sources/model.cpp -o obj/model.o
algorithms: modules/algorithms.h modules/sources/algorithms.cpp
$(COMPILER) $(CFLAGS) -c modules/sources/algorithms.cpp -o obj/algorithms.o
io: modules/io.h modules/sources/io.cpp
$(COMPILER) $(CFLAGS) -c modules/sources/io.cpp -o obj/io.o
stopwatch: modules/stopwatch.h modules/sources/stopwatch.cpp
$(COMPILER) $(CFLAGS) -c modules/sources/stopwatch.cpp -o obj/stopwatch.o
# EXECUTABLE GENERATION
exe: model algorithms io stopwatch
$(COMPILER) $(CFLAGS) main.cpp obj/model.o obj/algorithms.o obj/io.o obj/stopwatch.o -o bin/process
# DEFAULT TEST CASE
run: exe
./bin/process -i data/nasa_small.log -a data/nasa_small.access -s data/nasa_small.stack
# CLEANING ROUTINE
clean:
rm -f obj/*