据我所知,在使用生成的makefile在Qt Creator中开发C ++时,.config文件会透明地添加到每个.h文件中。
假设.config文件位于根目录中,我们在其下有src /和inc /目录。 .config文件基本上只是#define
常量的列表。一个人通常不必明确#include
它。
在自定义(导入)makefile中模拟此操作的最佳方法是什么,以便.config文件未明确包含在每个.h中?
感谢您的帮助。
我当前的src / makefile的片段:
VALID_TOOLCHAINS := pnacl
NACL_SDK_ROOT ?= $(abspath ../../prg/nacl_sdk/pepper_canary)
include ../common.mk
APP_SOURCES = Common.cc App.cc MoreMath.cc AppGraph.cc AppAudio.cc Noise.cc
TARGET = nim
INC_PATHS = $(NACL_SDK_ROOT)/include ../inc
LIBS = ppapi_gles2 ppapi_cpp ppapi pthread
CFLAGS = -Wall
SOURCES = $(APP_SOURCES) Neonim.cc
# Build rules generated by macros from common.mk:
$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
ifeq ($(CONFIG),Release)
$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
else
$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
endif
$(eval $(call NMF_RULE,$(TARGET),))
答案 0 :(得分:1)
通常qmake在我们处理Qt时生成makefile,无论我们是否使用Qt Creator。 qmake使用MyAppProjectFile.pro文件,其中包含所有项目文件,编译器和链接器选项,其中列出的构建前和构建后步骤。从指向qmake的链接开始。一旦你了解Qt项目是如何组织的,你可能会问我们更多"详细"问题所以我们能够理解并更好地回答它。
几年前,当我研究Qt时,我经历了Qt示例并从命令行编译它们并尝试更改该代码。设置命令行环境以构建Qt应用程序和示例将是一个非常好的练习。您还可以在Qt创建者中创建自己的项目,但是从命令行创建 - 这在所使用的文件等领域非常简单并且很有启发性。