最近用QTK开发一个下载(下载到开发板)工具,同时用到了Makefile/cmake和node-gyp,而且都要针对不同平台做不同的处理。这里做个记录,以备以后有需要时查阅。
<强> Makefile 强>
在Makefile中,可以用OS变量判断当前系统是否是窗户,然后用uname来判断当前系统是MacOS还是其它系统。
ifeq ($ (OS), Windows_NT) 平台="窗口" 其他的 ifeq($(壳牌uname),达尔文) 平台=" MacOS " 其他的 平台="类unix " endif endif 全部: @echo $(平台)
<强> cmake 强>
在cmake中,可以通过苹果变量判断当前系统是否是MacOS,通过UNIX变量判断当前系统是否是UNIX,其它则认为是窗户。
如果(苹果)//苹果 elseif (UNIX)//UNIX 其他()//窗口 endif ()
<强> node-gyp 强>
在binding.gyp中,可以在条件添加不同平台的处理。
“条件”:( (操作系统==捌还?{ “xcode_settings”: { “GCC_ENABLE_CPP_EXCEPTIONS”:“是的” }, “来源”:[“本地/串行/src/impl/list_ports/list_ports_osx.cc”、“本地/串行/src/impl/unix.cc”) }, 操作系统==坝?{ “来源”:[“本地/串行/src/impl/list_ports/list_ports_win.cc”、“本地/串行/src/impl/win.cc”), “库”:( “-lsetupapi.lib”, “-lws2_32.lib” ] }) )
<强>总结强>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接