加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – makefile制作.gch文件而不是.o文件的问题

发布时间:2020-12-16 10:45:07 所属栏目:百科 来源:网络整理
导读:所以,我正在制作一个程序来测试某些数据结构的效率.我有所有的.h文件,我制作了一个非常可怕的makefile,可能是错的,虽然它似乎达到了一定程度.它不是制作.o文件而是制作.gch文件,所以当它试图访问所有.o文件时,它们都找不到.这是我的makefile prog1: main.o d
所以,我正在制作一个程序来测试某些数据结构的效率.我有所有的.h文件,我制作了一个非常可怕的makefile,可能是错的,虽然它似乎达到了一定程度.它不是制作.o文件而是制作.gch文件,所以当它试图访问所有.o文件时,它们都找不到.这是我的makefile

prog1: main.o dsexceptions.o BinarySearchTree.o SplayTree.o RedBlackTree.o AvlTree.o
                g++ -Wall -g -o prog1 main.o dsexceptions.h.gch BinarySearchTree.h.gch SplayTree.h.gch RedBlackTree.h.gch AvlTree.h.gch

main.o: main.cpp AvlTree.h RedBlackTree.h SplayTree.h BinarySearchTree.h dsexceptions.h
                g++ -Wall -g -c main.cpp

#shape.o: shape.cpp shape.h grid.h
#               g++ -Wall -g -c shape.cpp

dsexceptions.o: dsexceptions.h
                g++ -Wall -g -c dsexceptions.h

BinarySearchTree.o: BinarySearchTree.h dsexceptions.h
                    g++ -Wall -g -c BinarySearchTree.h

SplayTree.o: SplayTree.h dsexceptions.h
             g++ -Wall -g -c SplayTree.h

RedBlackTree.o: RedBlackTree.h dsexceptions.h
                g++ -Wall -g -c RedBlackTree.h

AvlTree.o: AvlTree.h dsexceptions.h
           g++ -Wall -g -c AvlTree.h

clean:
                rm -f main main.exe  main.o dsexceptions.o BinarySearchTree.o SplayTree.o RedBlackTree.o AvlTree.o *.gch

解决方法

您不希望将.h文件提供给编译器.仅编译.cpp文件,该文件应包含.h文件. (.gch文件是预编译的头文件.)您的头文件不需要.o文件,只需在.cpp文件中#include它们.

prog1: main.o
        g++ -Wall -g -o prog1 main.o

main.o: main.cpp AvlTree.h RedBlackTree.h SplayTree.h BinarySearchTree.h dsexceptions.h
        g++ -Wall -g -c main.cpp

clean:
        rm -f prog1 main.o

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读