(原来用vc2008编译过,当前项目结项了,vc2008可以扔掉了,释放了系统盘3G的空间,呵呵)
准备工作:
1、Qt
下载地址 http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.0.zip
可参考如下配置:
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
下载地址 http://www.coin3d.org/lib/plonesoftwarecenter_view
(不要采用网站提供的simvoleon的Windows安装版本,它编译时的配置是coin2d,要自己重新编译)
simvoleon没有提供visual studio.net的工程,如果不想自己建立,可以去下面的地址下载:
http://hg.sim.no/SIMVoleon/default/file/0eb85216a1ad/build/msvc8
3、fftw
下载地址 http://www.fftw.org/install/windows.html
编译opendtect:
opendtect默认 的链接的以上库的release版本,所以需要将解决方案里的相关工程的库依赖名字改一下
另外要注意的就是将以上库的路径按照opendtect起的名字在windows的环境变量中设置一下。
下面是我的设置:
OD_COINDIR G:/DevelopLib/Coin3D
OD_FFTWDIR G:/DevelopLib/fftw-3.2
OD_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,通过............
编译后的图: