【发布时间】:2021-08-19 08:51:03
【问题描述】:
我有一个我创建的自定义 C 头文件。我的目录中有几个文件如下。
lib1/
-lib1.h
-lib1.c
lib2/
-lib2.h
-lib2.c
-lib_main.c
-lib_main.h
-main.c
-main.cpp
-Makefile
现在,为了使用名为 main.c 的测试文件测试头文件,我将在终端中给出以下命令,
gcc lib_main.c lib1/lib1.c lib2/lib2.c main.c -o ./main
现在,如何使用 main.cpp 而不是 main.c 测试相同的头文件,我该如何更改它?
【问题讨论】:
-
大概你只是在那个命令中用
main.cpp代替main.c,但是你真的不应该像那样混合C和C++。分别编译每个文件,然后将它们链接在一起。找到一个好的Makefile模板,或者如果您愿意,可以找到 CMake,作为一种可靠地执行此操作的方法。 -
你能解释一下如何分别编译并链接它们吗?
-
选择你最喜欢的Makefile template 并从那里开始构建。这个想法是您以正确的语言模式(C 或 C++)编译每个文件,然后将它们组合成最终的可执行文件。
标签: c++ c gcc g++ header-files