可移植地编译整个目录

问题描述

| 是否有一种干净/便携式的方法可以从给定目录递归降级,将所有找到的“ 0”文件编译成一个输出文件?我不确定makefile是否可以执行这种操作,或者是否可以完成某种构建脚本,但是我想避免与代码一起维护各种IDE的项目文件。     

解决方法

        您可以在此处执行不同的操作。我建议您使用多平台构建系统,并遵循其文档。我过去使用过CMake,但是我不知道如何告诉它编译目录中的所有文件。 优点是用户可以使用CMake来为大多数常见的IDE生成项目文件,因此它使VisualStudio用户可以生成VS解决方案,MacOSX用户可以生成Xcode项目,几乎在任何环境中都可以生成Eclipse CDK项目,Makefiles ...     ,        有通配符功能,可用于匹配如下模式:
CXX_FILES = $(wildcard src/*.cpp)   # All .cpp files in the directory
这不是递归的,但是至少可以使您免于必须手动在特定目录中指定文件的麻烦。构建它们的规则如下所示:
CXX_FILES = $(wildcard src/*.cpp)   # All .cpp files in the directory
OBJ_FILES = $(CXX_FILES:src/%.cpp=$(OBJ_DIR)/%.o)   # Corresponding .o files

# Rules
all: $(OBJ_FILES)
    g++ $(OBJ_FILES) -o output_filename

$(OBJ_DIR)/%.o: src/%.cpp
    g++ -c $< -o $@
哦,要回答您的问题,此方法是完全可移植的。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...