可以在Unity Assets目录下创建smcs.rsp文件,并向其中添加预编译命令,其会在unity启动时执行,比如新建一个smcs.rsp文件,向其中添加内容:
-define:MYDEF
然后就可以在脚本中加入宏判断:

if MYDEF

….

endif

其原理是启动Unity时会执行unity目录下的smcs.exe文件并添加预编译命令,也可以通过cmd运行smcs.exe逐个添加预编译命令。
另外还有可以创建gmcs.rsp文件,对应Editor脚本中的预编译命令。
详细:
Custom Preprocessor Directives

It is also possible to define your own preprocessor directives to control which code gets included when compiling. To do this you must add in the “Assets/” folder a text file with the extra directives. The name of the file depends on the language you are using :

C#
/Assets/smcs.rsp

C# - Editor Scripts
/Assets/gmcs.rsp

UnityScript
/Assets/us.rsp

Boo
/Assets/boo.rsp

As an example, if you include the single line ‘-define:UNITY_DEBUG’ in your smcs.rsp file the define UNITY_DEBUG will exist as a global define for C# scripts, except for Editor scripts.
Every time you make make changes to the .rsp files a recompilation needs to be done for them to be effective. You can do this by updating or reimporting a single script (.js, .cs or .boo) file.
The usage of the .rsp files is described in the help of the smcs application, included in the Editor installation folder. You can get more information by running : “smcs -help”.

比如如果想要在C#语言中使用指针,必须标记为unsafe的,默认情况下unity中使用unsafe标记会报错,可以在项目中添加smcs.rsp文件并加入-unsafe预编译命令,就可以编译通过。

作者:MrLSN
链接:http://www.jianshu.com/p/9833ce1e2ec6
來源:简书

通过Unity预编译文件smcs.rsp文件添加预编译命令相关推荐

  1. 这是预编译工具生成的文件_组件化架构 10.编译优化

    软件研发中,耗费最多时间的并不是编写代码,而是代码编译和代码不断调试的过程 软件试错时间 Android基础编译流程 编译构建的四个步骤: 代码编译:将源代码,R文件,AIDL生成的文件等 编译成.c ...

  2. weblogic对JSP预编译、weblogic读取JSP编译后的class文件、ant中weblogic.jspc预编译JSP

    我们都知道在weblogic中JSP是每次第一次访问的时候才会编译,这就造成第一次访问某个JSP的时候性能下降,有时候我们也希望JSP被编译成class然后打包在jar中实现隐藏JSP的功能,下面介绍 ...

  3. java 编译引入库_eclipse编译cpp文件,并且引用其他预编译的库

    一.项目结构 jni相关的单独放在一个文件夹内,包括 st_stereo.h,main.cpp,这个是要进行编译的文件 lib下的libSTdisp.so,libStereoblur.so,前面要编译 ...

  4. C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:余天升 链接:http://www.zhihu.com/question/20630104/answer/15722407 ...

  5. webstorm和intellij idea下如何自动编译sass和scss文件

    前言 学过css的人都知道,css他不是一个编程语言.虽然你可以用css去写网页样式,但是你却没法使用它进行编程.所以有一句话来描述css我个人觉得再合适不过了,"CSS基本上是设计师的工具 ...

  6. android r 编译找不到头文件_kOS(1):编译

    kOS不是一个全新操作系统,它基于Android.编译kOS app须要android NDK,版本至少是16b,至于android SDK则不须要了. 一.app层 1.1 预定义宏:_KOS An ...

  7. 制作已编译的html帮助文件

    http://www.cnblogs.com/cm186man/archive/2008/03/10/1098896.html引用 HTML帮助文档从结构上来看可分为两个部分,运行器和文档内容.它的一 ...

  8. 使用QuickCHM软件轻松编译CHM格式的文件

    使用QuickCHM软件轻松编译CHM格式的文件 2004年02月09日14:46:30 赛迪网 谈起CHM格式的文件,可能无人不晓,因为几乎所有的软件,现在都用CHM格式的文档制作软件帮助文件.另外 ...

  9. Linux下的GCC和Windows下Visual Studio的编译所生成的文件作用

    首先先说一下Linux吧因为这也是博主最早接触的编程开发环境所以比较熟悉的! Linux下就说GCC GCC编译如果不指定编译选项的话是一步到位没有额外的后缀名文件! .i文件:.i文件是GCC -E ...

  10. cython代码编译和setup.py文件编写

    Cython 官方文档: https://cython.readthedocs.io/en/latest/ 中文文档:https://www.bookstack.cn/read/cython-doc- ...

最新文章

  1. 二次开发photoshop_Photoshop 101:Web开发人员简介
  2. linux 下取进程占用 cpu/内存 最高的前10个进程
  3. 《算法进阶指南》最小生成树剩余题目
  4. Java 8 - Optional实战
  5. ***CI查询辅助函数:insert_id()、affected_rows()
  6. Java 平台有哪几个版本?
  7. BOM配置与产品构造器
  8. mysql性能优化学习_mysql学习——性能优化之sql优化
  9. 计算机网络设备配置遇到的问题,网络设备使用与维护
  10. SAP屏幕设计器专题:页签控件(八)
  11. Linux内核分析与驱动编程-1
  12. 苹果电脑制作Windows U盘系统
  13. 复习笔记——物联网通信技术判断
  14. spring框架学习总结(非xml方式注册bean)
  15. PHP 获取服务器磁盘空间
  16. 小白科普:10Mb独享服务器相当于多少流量?一个月3500GB流量的服务器可以支持多少PV?多少IP访问?
  17. 雷军博客分享-日本的电饭煲到底好在哪?
  18. jQuery 实现消消乐
  19. 动物识别专家系统c语言代码,动物识别专家系统(C++版)
  20. PCB常用端子/排线

热门文章

  1. 荣耀笔记本linux版拆机,拆机荣耀 MagicBook 锐龙版,真材实料一眼看到
  2. 算数平均法和加权平均法
  3. 远程清卡失败服务器内部错误,​航天信息远程清卡失败怎么处理
  4. 解决mac上复制粘贴失效问题
  5. golang ——An existing connection was forcibly closed by the remote host.
  6. HDU 1097 JAVA
  7. mysql json unquote_JSON_UNQUOTE() – Remove Quotes from a JSON Document in MySQL
  8. hget hmget redis api使用
  9. 面包板入门电子制作 学习笔记5
  10. 大数据分析之纳税人画像-实现和优化思路