我一直在使用CMake和C ++来构建库和可执行文件,并希望将它用于 go编程语言。
我需要采取哪些步骤来配置CMake才能使用go编程语言?
基本上,我的编译器是6g,它产生一个编译的foo.6。我通过6l foo.6将它发送到一个链接器,我就完成了。我已经构建并安装了编译器和链接器。
显然,我可以为此编写一个简单的Makefile,但在整个项目中使用CMake会很好。
TIA提供任何可以帮助我入门的建议。
答案 0 :(得分:17)
您可能希望实施CMake对Go的支持。粗略地说,它涉及以下步骤:
创建 CMakeGoCompiler.cmake.in - a 模板,由CMakeDetermineGoCompiler配置。
创建 CMakeTestGoCompiler.cmake ,这个模块会编译一个 simple go source来检查编译器是否有效。
这些东西应放在CMAKE_MODULES_DIR中。作为参考,您可以了解如何实现Java / CXX支持。
或者,如果不想弄乱这些内部的东西,你可以通过创建一个宏()来解决你的任务,这将创建一堆自定义目标/命令(请参阅add_custom_ {target,command}()文档)。
答案 1 :(得分:6)
不使用CMake(或任何其他构建系统)符合您的最佳利益。
Go有一种简单的内置方式来构建包:go build
(这也使go get
和go install
工作)。 go build
,按照设计,不需要像make或cmake这样的其他工具。
如果您使用CMake(或任何其他构建系统),您将只为自己(如果您计划使用由他人开发的库)或其他人(如果您计划开发旨在开发的库)的生活更加艰难被他人使用)。
答案 2 :(得分:0)
我创建了一个简单的go.cmake模块,用于使用CMake结合C / C ++和Go。