使用下载编译好的gn和ninja报错
先下载了gn的源码[gn.googlesource.com/gn],然后编译报错,就直接下载了了编译号的gn和Ninja,然后写了Helloworld应用的BUILD.gn,然后将"gn\examples\simple_build\build"拷贝至当前目录,结果Ninja编译报错,看起来是g++没有找到,奇怪明明已经下载的是ninja-win到"D:\Program Files"。
windows尝试编译GN
直接CMD然后编译报错如下:然后启动"x64 Native Tools Command Prompt for VS 2022"同样的步骤不再报错"CreateProcess failed: The system cannot find the file specified.“,但是会报另外的错误"gn\src\gn\escape.h(1): error C2220: the following warning is treated as an error”
解决C2220问题
去ninja的源码Issue中搜索然后将上面的"gn\build\gen.py"中的"cflags.append(‘/WX’)"注释掉,然后重新编译成功得到gn.exe
windows尝试编译GN
按照github上的wiki,先用cmd窗口编译失败,然后管理员权限打开"Developer Command Pormpt for VS",编译成功。
windows尝试ninja来编译c++项目
Google关键字"windows ninja g++ CreateProcess failed: The system cannot find the file specified.“搜到csdn上文章<CreateProcess failed: The system cannot find the file specified.>,博主描述说"将GCC = D:\MinGW\bin\g++.exe 变量写错路径了”,然后博主参考的是Ninja构建系统入门,然后发现虽然他们是在windows上编译,但是有安装MinGW,然后成功安装MinGW后,"ninja -C xxx(gn gen生成的目录名)"就不再报"g++ CreateProcess failed:“错误。
在编译gn\examples\simple_build时候报错"g++: error: obj/libhello_static.a: No such file or directory”,后面查看是由于在生成静态库的时候没有正常生成libhello_static.a,然后手动操作后成功了。
文章来源:https://www.toymoban.com/news/detail-684504.html
参考文档
https://gn.googlesource.com/gn/#getting-a-binary
Ninja构建系统入门文章来源地址https://www.toymoban.com/news/detail-684504.html
到了这里,关于使用gn+Ninja构建项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!