| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1237 人关注过本帖
标题:请教自建库使用的问题
取消只看楼主 加入收藏
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:5 
请教自建库使用的问题
编写了一个产生随机数的程序,有头文件、函数文件,另编写主程序调用函数文件,程序正常输出。我把函数文件编译成.lib,设定好编译器路径,但在编译时通不过。
#include <iostream>
//#include "Dsp.cpp"  //直接用函数文件可以完成主程序的编译并正常运行。将此函数文件编译为 .lib
#include <dsp.h>//这是文件头。库文件为 .lib 。出问题了:
using namespace std;

int main()
{
    double uniMin, uniMax, x;
    int i, j;
    long int *s;
    cout << "此程序将产生均匀分布的随机数。" << endl;
    cout << "请输入均匀区间下限:" ;
    cin >> uniMin;
    cout << endl << "请输入均匀区间上限:" ;
    cin >> uniMax;
    cout << "请输入随机数种子:";
    cin >> *s;
    cout << "请看结果:" << endl;
   
    for( i = 0; i < 10; i++ )
    {
         for( j = 0; j < 5; j ++ )
         {
              x = UniForm( uniMin, uniMax, s );//问题出在对 s 的引用上。
              cout << x << "    ";
         }
         cout << endl;
    }
    system( "pause" );
    cin.get();
    return 0;
}
编译信息:Link Error:Undefined reference to "UniForm( double, double, long * );//什么叫未定义的引用?我另外定义一个引用别名也不行。
          ld return 1 exit status    //这句话是什么意思?
我直接调用函数文件就行,难道编译成库文件就不行?是不是自建库文件还需要设置什么项目?郁闷呀!
请高手帮忙解释一下。

用的是DEV-C++


//dsp.h内容如下:

#ifndef _dsp_h
#define _dsp_h
/*
函数UniForm在区间( a, b )产生 均匀分布的随机数
*/
double UniForm(double a, double b, long int *seed );
#endif


函数文件:
//dsp.cpp
#include "dsp.h"
//UniForm
double UniForm( double a, double b, long int *seed )
{
       double t;

       * seed = 2045 * ( * seed ) +1;
       * seed = * seed - ( * seed / 1048576 ) * 1048576;
       t = ( * seed ) / 1048576.0;
       t = a + ( b -a ) * t;

       return t;
}


头文件:
//dsp.h内容如下:

#ifndef _dsp_h
#define _dsp_h
/*
函数UniForm在区间( a, b )产生 均匀分布的随机数
*/
double UniForm(double a, double b, long int *seed );
#endif



[ 本帖最后由 rainbow1 于 2010-7-21 00:56 编辑 ]
搜索更多相关主题的帖子: 编译器 主程序 
2010-07-21 00:45
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
没有人帮忙?
2010-07-21 14:08
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
库文件和头文件的路径设置都没有问题。
在Dev-C++里设置好,无法链接;我把文件拷贝到Dev-C++里相应的目录下也不能链接。
2010-07-22 13:03
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
库是用命令行编译成的。我这属于静态的库。实在不行看改成动态的库再试一下。
2010-07-22 14:48
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
我用BCB6.0编译也不过,出现同样的问题,说明与编译环境没有太大关系。现在看来应该是程序的问题。回头再仔细找一找相关的资料。
2010-07-23 12:47
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:0 
收到楼上。回头仔细研究一下。由于我用的温豆死下的,可能会有些不同。呵呵。。。。
2010-07-25 23:37
快速回复:请教自建库使用的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025768 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved