问题标签 [project-layout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
241 浏览

c++ - 多个库和可执行文件的 CMake 项目结构

我不确定对于具有子模块和使用这些模块的可执行文件的大型 cmake 项目的最佳方法。

解决方案1:

为每个模块创建不同的目标允许在其他项目中轻松重用模块。

但是现在很难/很难将一个模块与一个允许包含的项目相关联,#include "foo/core/..."甚至是整个项目接口,比如#include "foo/foo.hpp"

解决方案2:

使用这种方法,模块接口的问题得到了解决,但是某些模块的重用变成了挑剔的复制粘贴工作。

你更喜欢哪种结构?

您是否使用完全不同的结构来管理更大的项目?

0 投票
0 回答
16 浏览

makefile - 如何防止输出文件夹显示为可能的目标(自动完成)

我创建了一个具有以下文件结构的小项目:

bin/libutils.so是用make(文件夹和.so都是在 makefile 中创建的)构建的,Makefile如下所示:

我的问题是,当在项目文件夹中时,make自动完成功能还会将该bin/文件夹显示为可能的目标:

我想解决方案是从 中删除$(BIN_DIR)TARGET_OBJ := $(BIN_DIR)/$(OBJ_NAME)但我不完全确定如何使其工作。

此外,非常感谢对整个Makefile的任何建设性批评。