设置我的源代码,构建目录和制作工具
Setting up my source, build directories and make tool
我正在尝试建立一个新的C++项目。我正在努力实现以下目标:
- 来源在~/repo/Source下/
- 生成的文件将转到~/repo/build/
- ~/repo/source应该尽可能保持干净,至少我应该能够忽略任何使用.gitignore条目写入的文件
- 我可以从~/repo/source下的任何目录进行构建(例如,我可以在~/repo/source/project1/lib1下调用"mymake"),它将构建二进制文件并将其放入~/repo/build下
- 我可以构建调试或发布二进制文件,它们将进入各自的目录。例如"mymake--config=debug"或类似的内容
这似乎是我在我工作过的每一家科技公司看到的设置。不过,我对制作工具的了解还不够。我可以使用cmake来实现上述目标吗?非常感谢。
我可以使用cmake来实现上述目标吗?
是:
- -
- 是的,假设您的
CMakeLists.txt
在~/repo/source/
中,则从~/repo/build/
(或绝对路径)目录运行cmake ../source
,或者使用具有该路径的gui。但通常情况下,build
被放置在您的项目(~/repo/source/build
)中,并被添加到git ignore中,因为它没有被指定用于共享。从那里运行cmake ..
即可 - 没有问题,所有本地/生成的文件都在
build
目录中(参见#2);将其添加到.gitignore
中。分享你的项目:不要分享build
- 您必须使用根目录
CMakeLists.txt
所在的路径运行cmake。但是:子目录可以有自己的列表 - 是的
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 我的字符计数代码计算错误.为什么
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- cmake在我的项目中所需的所有静态库都不成功
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 为什么我的for循环不能正确获取argv
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 0-1背包代码中的错误.我的代码中有什么错误
- 当我的阵列太大时出现分段错误
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 为什么二进制搜索在我的测试中不起作用
- 我已安装的GCC版本是我已安装的RedHat开发人员工具集的背后
- 自动工具不喜欢我的项目目录中的 install.sh 脚本
- 将条目添加到'Uninstall'注册表项后无法卸载我的工具
- 如何为我的语言编写自己的Windows输入工具软件
- 设置我的源代码,构建目录和制作工具
- 如何检测内存泄漏在我的Qt软件的Valgrind或其他工具
- 在c++中,我可以使用多线程工具来同步UNIX信号与我的主程序