你可以写一个Makefile
为你做这个:
SOURCES=$(shell find . -name "*.cpp")
OBJECTS=$(SOURCES:%.cpp=%.o)
TARGET=foo
.PHONY: all
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@
.PHONY: clean
clean:
rm -f $(TARGET) $(OBJECTS)
Run Code Online (Sandbox Code Playgroud)
只需将它放在源层次结构的根目录中并运行make
(您需要GNU Make才能使其工作).
(请注意,我不是很流利,Makefile
所以也许这可以更轻松.)
CMake做到了,它甚至创建了makefile和Visual Studio项目.http://www.cmake.org/
您需要做的就是创建一个包含以下行的CMakeLists.txt文件:
file(GLOB sources *.h *.c *.cxx *.cpp *.hxx)
add_executable(Foo ${sources})
Run Code Online (Sandbox Code Playgroud)
然后进入一个干净的目录并键入:
cmake /path/to/project/
Run Code Online (Sandbox Code Playgroud)
这将在该干净的构建目录上创建makefile.
这是我将用于一个简单的项目:
CC = $(CXX)
CXXFLAGS += -ansi -pedantic -W -Wall -Werror
CPPFLAGS += -I<Dir Where Boost Lives>
SOURCES = $(wildcard *.cpp)
OBJECTS = $(patsubst %.cpp,%.o,$(SOURCES))
all: myApp
myApp: $(OBJECTS)
Run Code Online (Sandbox Code Playgroud)
唯一的限制是,如果要构建名为myApp的可执行文件.然后其中一个源文件应命名为myApp.cpp(这是我放置main的地方).
归档时间: |
|
查看次数: |
9538 次 |
最近记录: |