LibreOffice 生成VS2012工程
来源:互联网 发布:qq邮箱有没有mac版本 编辑:程序博客网 时间:2024/05/16 15:48
生成VS2012解决方案
编译好之后,建议最好可以进入build目录运行以下命令生成Visual Studio 2012的工程:
/opt/lo/bin/make
vs2012-ide-integration
但实际我执行的时候并没有产生相应的文件。因此分析了下makefile文件,决定直接运行生成工程文件的命令。首先我是根据上述命令的输出,分析脚本调用的命令,会输出一个错误,表示make无法处理cmd目标,于是在 build 目录的 Makefile 中找到了这个命令的生成宏:
$(1)-ide-integration:
cd $(SRCDIR) && (LC_MESSAGES=C $(MAKE) cmd="$(MAKE) -npf Makefile.gbuild all" cmd || true) | $(SRCDIR)/bin/gbuild-to-ide --ide $(1)
cd $(SRCDIR) && (LC_MESSAGES=C $(MAKE) cmd="$(MAKE) -npf Makefile.gbuild all" cmd || true) | $(SRCDIR)/bin/gbuild-to-ide --ide $(1)
这个函数大概在346行左右,于是分析这个命令的执行过程,它就是将源代码目录下的 Makefile.gbuild 文件内容直接输出,并导出到 bin/gbuild-to-ide 作为输入,这个文件是一个python文件,于是试图执行以下代码:
/opt/lo/bin/make -npf ../srcDir/Makefile.gbuild all | ../srcDir/bin/gbuild-to-ide --ide vs2012
-npf参数参见make的参数,这个运行之后提示有两个文件找不到:
- config_host.mk
- gbuild.mk
于是打开源代码目录下的 Makefile.gbuild,发现它里面的include语句有问题:
include $(BUILDDIR)/config_$(gb_Side).mk
include $(SRCDIR)/solenv/gbuild/gbuild.mk
include $(SRCDIR)/solenv/gbuild/gbuild.mk
使用绝对路径修改了这两个包含为:
include /cygdrive/d/LibreOffice/build/config_$(gb_Side).mk
include /cygdrive/d/LibreOffice/srcDir/solenv/gbuild/gbuild.mk
include /cygdrive/d/LibreOffice/srcDir/solenv/gbuild/gbuild.mk
另外,这个路径必须使用 linux 语法,使用windows路径语法将出错。至此,再运行
/opt/lo/bin/make -npf ../srcDir/Makefile.gbuild all | ../srcDir/bin/gbuild-to-ide --ide vs2012
此时它会执行一次 make 操作,但无妨,因此第一次编译已经成功了,所以它会过一遍,但没有实际的内容产生,然后就会出现 Visual Studio 2012的工程了,在 build 目录下。
由于所有的工程都在 LibreOffice.sln 中,所以直接打开不是明智的选择(内含330个工程),更好的方法是打开各个模块下的解决方案,比如 sw 模块下包含一个 sw.sln,这个解决方案仅包含几个与Writer相关的工程,加快解决方案的加载。
生成的VS2012 sln特点
如上图所示,这个工程不是一个正常的VC++工程,而是一个无语言属性的工程,因此它指定了 NMAKE 要执行命令所需要的参数,本质上它依然是通过 Cygwin 来编译代码。因此无法使用这个东西来添加新的文本,如果要对工程添加新的文件,需要修改 Makefile 再编译。
0 0
- LibreOffice 生成VS2012工程
- Cmake3.1.0+VS2012生成opencv2.4.10工程 VS2012+opencv环境配置
- libreoffice
- vs2012工程转成vs2010
- 如何用VS2010打开并编译和生成VS2012编写的工程
- cocos2dx VS2012 项目生成
- VS2012生成事件
- vs2012工程转换成vs2010
- vs2012创建空MFC工程
- 1. vs2012创建live555工程
- vs2012,如何调试dll工程
- vs2012 修改解决方案 工程 名
- cmake 命令行 生成 vs2012项目
- VS2012,2013,Opencv生成DLL
- 【Error】安装VS2012后VS2010工程失败
- VS2012工程升级到VS2013错误处理
- 【Error】安装VS2012后VS2010工程失败
- VS2012建立调用lua脚本工程
- mysql存储emoji表情,utf8mb4
- 使用Spring MVC统一异常处理实战
- Leetcode (H)
- Mac OS X 系统锁屏两种方式总结
- java字符串
- LibreOffice 生成VS2012工程
- 驾车线路导航api
- Linux平台下安装SSH
- WCF通讯方式之双向通讯
- HDFS dfsclient写文件过程 源码分析
- java 中的 final 变量
- poj Round Numbers 3252(数位dp进阶)
- php redis brpop提示异常
- Exception occurred during processing request: null