Opticks源代码的编译
下面以Opticks4.5.0的源码为例
在下载源代码之前的准备,首先要准备三款软件:
1、 VS2005,Opticks4.5.0用的是VS2005编译的,之后的版本采用的是VS2010;
2、 Python,Python需要2.5以上的版本(可从http://www.python.org/download/中下载);
3、 Subversion Command LineClient,这个软件的版本没要求,但是必须要与你下载源码时用的SVN的版本一致(可从http://downloads.open.collab.net/collabnet-subversion.html下载),不然后面编译时会提示“SVN版本太旧”的错误(如果遇到这样的情况请将…\trunk\Code目录下的“.svn”隐藏文件夹删除)。
以上软件下载安装好后可用SVN下载源码
(https://opticks.svn.sourceforge.net/svnroot/releases/4.5.0rc2)
源码下载好后,双击(自己的路径…)\trunk\Dependencies\文件夹下的dependencies.py文件,开始自动下载并解压工程依赖的库(比如Qt、XQilla、yaml等)
依赖库下载好后,在“我的电脑”加一个变量名为OPTICKSDEPENDENCIES,值为(自己的路径…)\trunk\Dependencies的环境变量,VS编译时才知道到这个目录下找依赖库。
接下来可以到(自己的路径…)\trunk\Code\application\,文件夹下找到Opticks.sln工程文件,双击打开工程,在编译前需要修改几个地方:
| 将AppConfig.h文件的第46和47行改为: #define MICRON std::string("u") #define DEG_CHAR std::string("*") 还有其它一些地方也是少了半个引号。
将...\trunk\Code\application\Interfaces\TypesFile.h文件164到169行的注释改为 enum DmsFormatTypeEnum { DMS_FULL, /**< Decimal seconds (DD.MM' SS.ss") */ DMS_FULL_DECIMAL, /**< Decimal degrees (DD.ddd) */ DMS_MINUTES_DECIMAL /**< Decimal minutes (DD.MM.mm') */ }; 不然会有很多这样的警告,很烦人! \trunk\code\application\interfaces\typesfile.h : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss 这主要是因为编码造成字符变异,导致的警告。 还有其它一些地方,一般在当前文件里搜索“?”就可以找到。 |
还有其它一些地方有类似的错误,请按照错误提示的位置进行修改。
先编译“PlugInLib”和“PlugInUtilities”两个项目,因为其他项目要用到这两个项目,然后将(自己的路径…)\trunk\Code\Build\binaries-win32-debug\lib添加到“工具-选项-项目和解决方案-VC++目录-库文件”中。
有时间可以一个一个项目编译,没时间可以将等个解决方案仪器编译。编译需要比较长的时间,请耐心等待。
本文档详细介绍了如何使用VS2005编译Opticks 4.5.0源代码的过程,包括所需软件的准备、源代码下载、依赖库的自动下载及解压、环境变量配置、编译前代码修改等内容。
1741





