最近我不得不在我正在处理的 sqlite 程序的 makefile 中使用这个命令:
gcc -g -c sqlite3.c -o sqlite3.o
g++ -g -c main.cpp -o main.o
g++ sqlite3.o main.o -o sqliteex
我必须直接将 sqlite3.c 文件编译到我的程序中才能使用 sqlite3.h 接口(包含在带有#include SQL/sqlite3.h 的 main.cpp 文件中)。但是为什么我需要使用 gcc 来执行此操作并创建 sqlite3.o,然后将这两个文件作为 .o 文件编译到我的可执行文件中?
编辑:我的猜测是 gcc 和 g++ 都可以编译 .o 文件,如果是这种情况,总是将东西编译为 .o 文件是一个好习惯吗?