我正在开发一个 C++ 项目,该项目将包含在一个更大的项目中。
我已经看到,在更大的项目(是一个 Qt 应用程序,它是从 qmake 生成的)上,我可以从 linux 命令行编译单个文件,只需输入特定文件的相对路径作为 make 的参数。
另一方面,我在我自己的项目中使用 CMake。当我修改编译单元的一些代码并且必须修改它的头文件时,我必须等待很长时间才能编译它的依赖项,然后编译它自己的源文件。但在某些情况下,我更愿意检查 *.cc 文件中的源代码是否可以无错误地编译。
有没有办法像 qmake 那样从 CMake 生成 Makefile?切换到 qmake 不再是一个选择。
您不必向 CMake 脚本添加额外的自定义目标,因为 CMake 生成的 Makefile 已包含每个 .cc 文件的 .o 目标。例如。如果你有一个名为mySourceFile.cc
,您的构建目录中将会有一个 Makefile,它定义了一个名为<Some Path>/mySourceFile.cc.o
。如果你cd
进入你的构建目录,你可以使用grep
or ack-grep
找到定义该目标的 Makefile,然后cd
进入 Makefile 的目录并构建它。
例如。假设命令ack-grep mySourceFile.cc.o
打印类似:
foo/bar/Makefile
119:x/y/z/mySourceFile.o: x/y/z/mySourceFile.cc.o
123:x/y/z/mySourceFile.cc.o:
124: # recipe for building target
然后你就可以构建mySourceFile.cc.o
通过做:
cd foo/bar && make x/y/z/mySourceFile.cc.o
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)