步骤一:
1)解压缩 qt-win-opensource-src-4.5.2.zip 到 G:/qt-win-4.5.2 — 不再包含其他子根目录!!!
1.1 设置变量 MAKESPEC = win32-msvc2008
1.2 设置变量 QTDIR = G:/qt-win-4.5.2/
1.3 添加路径 G:/qt-win-4.5.2/bin
*提个醒* Qt编译后很胖,准备10 G磁盘空间先。
2)打开VS2008 控制台, 敲入: configure -platform win32-msvc2008 -vcproj
******等啊,等啊*******,
时间长短,视机器卖力程度而定,多则1-2小时,少则10多分钟
3)configure完成,然后输入nmake回车, 可能会有错,莫慌:
删除
qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/mocinclude.tmp
qt/src/3rdparty/webkit/WebCore/tmp/moc/release_shared/mocinclude.tmp
然后再nmake即可成功编译
******等啊,等啊*******
******等啊,等啊*******
******等啊,等啊*******
******等啊,等啊*******
******等啊,等啊*******
******等啊,等啊*******
时间很长,像我这 双核 2.0G/2G内存 的机器,满头大汗,累得吱吱叫唤,还要 2-3个小时 囧
4)nmake -clean 清理中间文件, 进行Qt Library 瘦身
——————————————
————中场休息———————
——————————————
至此Qt库已经就绪,接下来收拾 Coin
步骤二:
1)将 Coin-2.5.0-bin-msvc8.zip 释放到 G:/Coin-2.5
2)设置变量 COINDIR == G:/Coin-2.5
3)添加路径 G:/Coin-2.5/Bin, 这样IDE就能找到Coin库了
——————————————
————中场休息———————
——————————————
至此Coin 3D库已经就绪,接下来收拾 SoQt
步骤三:
1)将 SoQt-1.4.1.tar.gz 释放到 G:/SoQt-1.4.1
2)进入 G:/SoQt-1.4.1/build/msvc8, 打开工程 soqt1.sln (VS2008 会提示)
挨个编译一遍,生成如下结果:
soqt1d.dll
soqt1.dll
soqt1d.lib
soqt1.lib
3)将这些宝贝拷贝到 文件夹 G:/Coin-2.5/bin 下
4)双击 文件夹 G:/SoQt-1.4.1/build/msvc8 下的 install-headers.bat 批处理,
检查 一下 G:/Coin-2.5/include 下是否存在 Inventor,Soxxx等文件
如果不存在请仔细检查 RP o(╯□╰)o
——————————————
————中场休息———————
——————————————
至此SoQt库已经就绪,接下来收拾 CLAPACK
步骤四:
1)将CLAPACK-3.1.1-VisualStudio.zip 解压到 G:/CLAPACK-3.1.1
2)设置 CLAPACKDIR 变量 G:/CLAPACK-3.1.1
3)打开 G:/CLAPACK-3.1.1/clapack.sln,工程,
稀里哗啦,一通编译啊……
******等啊,等啊*******
******等啊,等啊*******
【编译过程中,有些注意事项】
所用选择都是,重新生成,这一点很重要!防止不同VS版本的库混淆,造成最终的clapackd.lib败坏。
首先编译F2CLIBS,用于将fortran转换为c语言。
选择libf2c子项目。直接生成之。编译过程中可能会有一些warning,不要理会他们。
编译成功后,输出文件是libf2cd.lib。
这里的d就是debug模式,如果是release模式就是libf2cd.lib。
输出文件默认路径是/LIB文件夹。注意,/LIB/Win32下已经有一些lib了。大家最好把他们都先删除了,,以免新旧文件混淆。
接着编译tmglib。这是一个矩阵库。
这个库在TESTING/MATGEN里面。选择他生成就好了。
输出文件还是在/LIB里面。文件名是tmglibd.lib。
然后是编译blas,选择项目blas, 编译之。
输出文件BLASd.lib。
最后是编译CLAPACK,生成clapackd.lib.
【release和debug模式都来一遍,以备用】
4)Graspit!针对 CLAPACK,有些小的工程配置文件的调整,且听下回分解
///////////////////////////////////////////////////////////////////////////////////////////
至此CLAPACK库已经就绪,接下来收拾 终极BOSS —>Graspit!
步骤五:
1)将Graspit-2-1-0-src.zip解压到 G:/Graspit
2)设置变量 GRASPIT = G:/Graspit
3)打开 G:/Graspit/qhull/windows/qhull.sln
编译 QHull
4)修改文件 G:/Graspit/graspit.pro 17 行:
LAPACK = clapack,由此指示使用何种类型的LAPACK
5)打开VS2008控制台 ,敲入
G:/
cd G:/Graspit
qmake -t vcapp -o graspit.vcproj graspit.pro
OK,生成VS2008的工程文件 graspit.vcproj
6)打开 graspit.vcproj
在附属库中添加 libg2c.lib 和 gcc.lib 【右键,工程属性】
这两个库来自 MinGW 下 的库 libg2c.a 和 gcc.a, 改一下缀就OK了
没动这个手脚, CLAPACK会 bababababababababa 报错:
错误2error LNK2019: 无法解析的外部符号 _s_cat,该符号在函数 _dgesvd_ 中被引用clapack.libgraspit
错误6error LNK2019: 无法解析的外部符号 _s_cmp,该符号在函数 _ilaenv_ 中被引用clapack.libgraspit
错误7error LNK2019: 无法解析的外部符号 _s_copy,该符号在函数 _ilaenv_ 中被引用clapack.libgraspit
错误8error LNK2019: 无法解析的外部符号 _d_sign,该符号在函数 _dlasv2_ 中被引用clapack.libgraspit
通过 右键->属性->连接器->输入->忽略特定库 ,填入LIBCMT.lib
解决库接口重复冲突问题
稀里哗啦,一通编译啊……
******等啊,等啊*******
******等啊,等啊*******
编译成功:), 运行!
【合唱:】解放区的天是明朗的天,解放区的人民好喜欢~~~~~~~
搞几张截图:
融入银河,就安谧地和明月为伴照亮长天;没入草莽,