如何处理.hpp未包含在静态库中的任何.cpp中

时间:2018-04-12 17:19:32

标签: c++ makefile static-libraries

我正在编写一个用于构建库的makefile,这是它的一个摘录,与我提出的问题相关:

 //....Container:
        render() {
            if (this.state.navigateEmployers) {
                return <Redirect to="/employers" />
            } else if (this.state.navigateAuth) {
                return <Redirect to="/auth/login" />
            }
            return (
                <Fragment>
                    <Header/>
                    <div className="employers-logout col-lg-9 mx-auto d-flex flex-column justify-content-center text-center align-items-center">
                        <div className="employers-logout-text">
                            <h1>You succeessfully logouted!</h1>
                            <p>You will be redirected to the main page shortly</p>
                        </div>
                        <div className="employers-logout-buttons d-flex row align-items-center align-middle justify-content-between">
                            <p>Manual redirection</p>
                            <button className="btn btn-success mr-2" onClick={this.handleClick}>Go now</button>
                        </div>
                    </div>
                    <Footer/>
                </Fragment>
            )
        }
    }

    export default LogoutPage;

这有一个问题,如果我有一个悬空的头文件,悬空我的意思是它没有包含在任何.cpp文件中,makefile不会将其视为编译。

我该怎么办?要手动列出它们并将它们添加为SRCS = $(wildcard *.cpp) OBJS = $(SRCS:.cpp=.o) OUT = my_library #there is a .cpp file called my_library $(OUT): $(OBJS) ar rvs $(OUT).a $(OUT).o $(OBJS): $(SRCS) $(CC) $(SCRS) $(FLAGS) -c $< -o $@ 的依赖关系和目标?我不认为这是我必须遵循的方式。

1 个答案:

答案 0 :(得分:2)

头文件只是定义源文件中的内容,或者在使用时生成代码。对于库文件,它们生成的代码将在调用代码中生成,而不是库代码,因此在编译库时不需要生成任何内容。