用 visual studio 2010 编译 OpendTect

(原来用vc2008编译过,当前项目结项了,,vc2008可以扔掉了,释放了系统盘3G的空间,呵呵)

准备工作:

1、Qt

下载地址

可参考如下配置:

configure -debug -opensource -developer-build -qt-sql-sqlite -qt-sql-sqlite2 -qt-sql-mysql -plugin-sql-sqlite -plugin-sql-mysql -no-qt3support -no-webkit -platform win32-msvc2010

nmake

ok!

中间会有一处错误,把出错行的“NULL”强制转换就行了。( (classtype*)NULL)

关于Qt的版本选择:尽量选择与opendtect发行版一致的版本。

2、coin3d+SoQt+simvoleon

下载地址

(不要采用网站提供的simvoleon的Windows安装版本,它编译时的配置是coin2d,要自己重新编译)

simvoleon没有提供visual studio.net的工程,如果不想自己建立,可以去下面的地址下载:

3、fftw

下载地址

编译opendtect:

opendtect默认 的链接的以上库的release版本,所以需要将解决方案里的相关工程的库依赖名字改一下

另外要注意的就是将以上库的路径按照opendtect起的名字在windows的环境变量中设置一下。

下面是我的设置:

OD_COINDIR G:/DevelopLib/Coin3DOD_FFTWDIR G:/DevelopLib/fftw-3.2OD_QTDIR G:/DevelopLib/Qt/4.7.0

如果不想在环境变量中设置,可以在编译窗口输入:

set OD_QTDIR=XXXXXX

对于提示找不到.h文件,lib文件的:

set include=%include%;xxxxxx

set lib=%lib%;xxxxxxx

Path 原来的再加上:%QTDIR%/bin;%COIN3D%/bin;%FFTW%

(我把soqt,simvoleon都放在coin3d的目录中了,所以只需要在path中增加%COIN3D%/bin)

小插曲:

原来用visual studio 2008编译过,后来Soqt忘了重新编译,结果编译完opendtect后运行提示进程中有两个不同版本的

coin3d,但dll文件太多,一个个看太费时了,将原来用vc2008编译的文件都删除,用windbg调试odmain,加载到SoQt.dll时提示coin3d_vc9.dll(设定的vc2008的工程输出这样的文件) 没找到。重新编译Coin3d,通过…………

编译后的图:

青春一经典当即永不再赎

用 visual studio 2010 编译 OpendTect

相关文章:

你感兴趣的文章:

标签云: