主题:彭国伦《fortran95程序设计》SGL库调用问题的解决方法
sobereva
[专家分:0] 发布于 2008-02-29 01:38:00
很多人按他书上方法做,程序调用sgl库编译时都遇到问题,解决方法是:
按照他p396页说的方法添加sgl库的include和lib目录,然后在project-setting-link里面添加上ddraw.lib dinput.lib dxguid.lib sgl.lib以及user32.lib gdi32.lib。然后就可以编译了。
关键是user32.lib和gdi32.lib这两个文件,如果没有这两个文件,就会出现很多错无法编译通过,而他的书里面却没有提到。这两个文件已在默认库文件搜索路径下。
实际上根据编译器提示的信息,比如找不到SetBkMode外部函数,在CVF的help里面搜一下,得知是在gdi32.lib里面,加上就行了
回复列表 (共13个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2008-02-29 08:35:00
User32 和 GDI32 都是 Windows API 的标准库,不需要作者额外提供的。
板凳
spring_zhao [专家分:30] 发布于 2008-03-13 09:28:00
用这个画正玄、余玄曲线方便吗。用于做数值分析结果显示方便吗
3 楼
ww119 [专家分:0] 发布于 2008-04-22 14:36:00
能不能把你的sgl库给我传一份,谢谢了。xingwei499@tom.com
4 楼
河海珊瑚虫 [专家分:0] 发布于 2008-04-25 14:32:00
楼主说的太好了 我今天就碰到这样的问题结果照楼主的说的 作了之后就编译通过了
5 楼
edongliang [专家分:0] 发布于 2008-05-07 19:10:00
我的怎么不行啊我加了啊
书上415业的例子啊
6 楼
weixing1531 [专家分:2580] 发布于 2008-05-07 19:22:00
我个人实践证明
这种方法在CVF6.5下是可行的
但到了CVF6.6c,则编译时出报错:
--------------------Configuration: sgl - Win32 Debug--------------------
Compiling Fortran...
D:\CVF6.6\WeiXing's Projects\sgl\sgl.f90
D:\CVF6.6\WeiXing's Projects\sgl\sgl.f90(2) : Error: This module file was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read. [SGL]
use sgl
------^
D:\CVF6.6\WeiXing's Projects\sgl\sgl.f90(17) : Error: This module file was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read. [SGL]
use sgl
------^
Error executing df.exe.
sgl.exe - 2 error(s), 0 warning(s)
看来sgl的可移植性有待解决!
下面是我个人的解决方法:
1.在光盘\sgl\src下,删除Release文件夹,用CVF6.6c打开sgl.dsw,重新编译,在Release
文件夹生成sgl.lib和sgl.mod,然后把两者分别替换搜索目录 INCLUDE 和 LIB 下对应的
文件
2.之后按照楼主的方法编译,若用Debug编译,可能性会出现如下报错:
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs;
use /NODEFAULTLIB:library
解决方法见:http://blog.csdn.net/jiazhen/archive/2007/07/05/1679356.aspx
总之,sgl的问题已经彻底解决
7 楼
weixing1531 [专家分:2580] 发布于 2008-05-09 00:19:00
[quote]我的怎么不行啊我加了啊
书上415业的例子啊[/quote]
书上和光盘上的源程序有一些是有错的
比如把 sglline 写成了 sgldrawline
类似的只要把中间的draw去掉就行了
8 楼
lilili606 [专家分:1260] 发布于 2008-08-08 17:37:00
多谢楼主分享解决方法,我在论坛上翻了两个小时才找到你的帖子的解决办法 不胜感激啊!
9 楼
followme1985 [专家分:0] 发布于 2009-01-06 21:05:00
我想问下楼主,怎么弄可以把link的修改一次改好,我每次新建个program后都要重新加link!
谢谢!
10 楼
followme1985 [专家分:0] 发布于 2009-01-06 21:24:00
楼主说的太好了 我今天就碰到这样的问题结果照楼主的说的 作了之后就编译通过了
我来回复