我创建了一个file.h
和一个file.c
如何在Ubuntu上编译它们?
答案 0 :(得分:2)
您只需要编译.c
个文件,而不是.h
个文件。
要在Ubuntu上编译file.c
,您可以使用GCC:
gcc file.c -o my_program
...或Clang:
clang file.c -o my_program
可以预编译头文件,但在特定情况下只需要预编译头。 More information here.
如果file.h
与file.c
不在同一文件夹中,您可以使用GCC或Clang的-I
选项。
file.h
文件夹中的include/
示例:
gcc -I include/ file.c -o my_program
在file.c
中你仍然有这条指令,只有文件名:
#include "file.h"
答案 1 :(得分:2)
您还可以通过使用makefile来使用更通用的方法。
以下是此类文件的简短示例:
# Declaration of variables
CC = gcc
CC_FLAGS = -w -Werror -Wall
# File names
# "prgoram" will be the name of the output produced from the make process
EXEC = program
#Incorporates all the files with .c extension
SOURCES = $(wildcard *.c)
OBJECTS = $(SOURCES:.c=.o)
# Main target
$(EXEC): $(OBJECTS)
$(CC) $(OBJECTS) -o $(EXEC)
# To obtain object files
%.o: %.c
$(CC) -c $(CC_FLAGS) $< -o $@
# To remove generated files
clean:
rm -f $(EXEC) $(OBJECTS)
要使用此实用程序,只需确保文件本身位于包含源文件的目录中,其名称为&#34; makefile&#34;或&#34; Makefile&#34;。 要编译代码,只需从工作目录中运行以下命令:
make program
此命令将自动将工作目录中的所有源文件链接到一个名为&#34; program&#34;的可执行文件中。要运行程序本身,只需使用命令:
./program
要清理项目和创建的可执行文件,您可以运行命令:
make clean
在处理包含大量源文件的较大项目时,makefile非常强大。 Here您可以查看有关如何使用makefile的更多指导。 This is也是关于该主题的非常详细的教程。
答案 2 :(得分:1)
使用以下命令编译程序(对于GCC编译器):
gcc file.c -o file
无需编译file.h文件。