首页
社区
课程
招聘
[原创]整理flexlm_v9.2_full_source不完全编译手册
发表于: 2007-2-26 17:23 22838

[原创]整理flexlm_v9.2_full_source不完全编译手册

2007-2-26 17:23
22838

下载flexlm_v9.2_full_source后,编译好久才把demo编译过去,考虑到可能会有同样辛苦的同志,所以把编译过程记录下来共享:

1)解压后从dos窗口进入v9.2目录下运行环境变量vc.bat(在vc的安装目录VC98\Bin下)
2)修改pc.mak中27行为CERTDIR = certicom\lib\$(FLEXLM_MAKE_PLATFORM)\
3)注释第28行 #CERTDIR = $(CERTICOM)
4)在src\pc.mak的490行下面添加一行
        copy ..\flexlm-java-tng\c\i86_n3\lGetNativeHostId.obj .
5)进入utils目录下面运行
        lmrand1.exe -seed
  生成3个随机种子,覆盖h\lm_code.h中对应宏定义
6)运行lmkg,生成以vonder name为demo的vonder key值,覆盖h\lm_code.h中对应宏定义
7)src\l_ctype.c替换'?'为'*'(注意是注意其中是注释符号/**/匹配,不涉及注释匹配的不要修改)
8)copy certicom\lib\i86_n3\include\*.* h /y
9)copy certicom\lib\i86_n3\lib\*.* i86_n3 /y
10)copy flexlm-java-tng\c\i86_n3\*.* src /y

11)编译设置环境变量
        a) cl makesetup.c
        b) makesetup RELEASE NONDEBUG i86_n3 MT
        c) setup.bat

12)编译SDK
        nmake /fpc.mak release
        看到[Finished building kit! Don't forget to build lmtools utility.]表示编译完全通过
13)生成license
        cd i86_n3
        lmcrypt.exe counted.lic
        lmcrypt.exe uncounted.lic
        lmcrypt.exe expired.lic
14)测试运行
        lmtools.exe配置一个license server。然后运行lmwin.exe将所有的feature都checkout一次
       

附:vondor_key1-5与lm_seed1-3
#define VENDOR_KEY1 0x4054cac1
#define VENDOR_KEY2 0x4500538e
#define VENDOR_KEY3 0x542a6830
#define VENDOR_KEY4 0x3951f9f9
#define VENDOR_KEY5 0x0b165dca
/*
*         Vendor name.                  Leave "demo" if evaluating.  Otherwise,
*                                 set to your vendor daemon name.
*/
#define VENDOR_NAME "demo"
/*
*         Private SEEDs:                 Make up 3, 8-hex-char numbers, replace and
*                                guard securely.  You can also use the command
*                                'lmrand1 -seed' to make these numbers up
*/
#define LM_SEED1 0x82395728
#define LM_SEED2 0xac86853f
#define LM_SEED3 0x13765cfb

注:说是不完全编译是因为还有一些问题没有解决,genlic32一直运行不起来正在查找资料
参考不少朋友的文章,没有记下来,再次不提名感谢:)


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (28)
雪    币: 225
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不顶实在没天理
谢谢好文
2007-2-26 23:25
0
雪    币: 213
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好文章
著著分享
2007-3-4 05:37
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
4
顶一下。对于破解行业软件很有帮助
2007-3-4 05:50
0
雪    币: 207
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
不错很好的文章,学习!
2007-3-4 06:12
0
雪    币: 207
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
step 4 does not make sense.
2007-3-4 11:57
0
雪    币: 207
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
step
7)src\l_ctype.c替换'?'为'*'
are you sure?

int l_isascii(int c) { return (((c & (unsigned int)0x80) == (unsigned int)0x80) ? 0 : 1); }
to
int l_isascii(int c) { return (((c & (unsigned int)0x80) == (unsigned int)0x80) * 0 : 1); } ?
do not think so.
2007-3-4 11:58
0
雪    币: 221
活跃值: (20)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
to oooooooo:
谢谢你提出问题,我在第4步的修改主要是编译的时候会提示没有找到lGetNativeHostId.obj 错误,所以修改makefile文件。这个可以通过,
另外你说的第7步是我描述错误,已修改
2007-3-5 16:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢了,收藏学习!・
2007-3-6 17:38
0
雪    币: 175
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wxd
10
按楼主所述的步骤进行编译,但出现下面的错误,数据都核对几遍了,不知道是怎么回事,请指教。

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

[DEBUG]
[TEST VERSION]TRADLL
[STATIC]
[32 bit]
[/MT]
        ..\utils\lmrand1 -i ..\machind\lsvendor.c
        ..\utils\lmrand1 -filter_gen 0x23456789 0x3456789a 0x456789ab -q
        cl /nologo /W2 /D_CONSOLE /D"_x86_" /DPC /DWINNT /DFLEXLM_KITBUILD  /DFL
EX_STATIC /YX /DFLEX_STATIC_MT /DLM_INTERNAL /D_LMGR_WINDLL  /MTd /Zi   /I .  /I
..\h  /I ..\machind   /I ..\patches  /c /I .  /I ..\h  /I ..\machind   /I ..\se
rver  /I ..\app  /I ..\patches /c lmcode.c
lmcode.c
        LINK /nologo /NOD /subsystem:console /machine:i386  /DEBUG    /DEBUG /pd
b:lm_new.pdb /out:lmnewgen.exe lmcode.obj ..\utils\lmnewgen.obj  ..\src\..\src\l
mgr.lib oldnames.lib  ..\i86_n3\libcrvs.lib  ..\i86_n3\libsb.lib  wsock32.lib  l
ibcmtd.lib  kernel32.lib  user32.lib  advapi32.lib  netapi32.lib  comctl32.lib
gdi32.lib  comdlg32.lib ..\src\libs\intel\spromeps.lib
        lmnewgen demo -o lm_new.c
v8.1+ FLEXlm, non-CRO
lc_init failed: Invalid FLEXlm key data supplied
FLEXlm error:  -44,49
For further information, refer to the FLEXlm End User Manual,
available at "www.macrovision.com".
NMAKE : fatal error U1077: 'lmnewgen' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\bin\N
MAKE.EXE"' : return code '0x2'
Stop.
2007-3-21 22:35
0
雪    币: 221
活跃值: (20)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
一般都是vonder name和vonder key生成的值不对,使用lmkg生成的时候记得选对版本号
2007-3-22 10:46
0
雪    币: 175
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wxd
12
谢谢楼主回复,说实在话,我就是用你提供的数据来编译,也照样出现这样的错误。
2007-3-23 16:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
把时间改一下,改到2003年就可以运行。不过还是没用,因为网上下的9.2问题。
2007-6-20 21:39
0
雪    币: 1436
活跃值: (3906)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
编译不成功:(
2007-6-25 03:41
0
雪    币: 134
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
很好,其实编译错误都可以顺藤摸瓜搞定。心细就行。
2007-6-26 16:06
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
那个genlic32怎么用不了?
那位有知道的,还望赐教。
2007-6-26 20:17
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
这个是指导如何编译Vendorname为默认的demo的流程。
如果vendorname不是demo而是其他的(实际的License生成中肯定是用其他的vendorname啦),请问楼主还需要注意哪些地方?
2007-6-26 23:12
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
一点说明,我使用VC8编译的。
关于第4点:
copy ..\flexlm-java-tng\c\i86_n3\lGetNativeHostId.obj .
的copy前面还需要空8个空格(就是和下面的语句要对其,否则编译出错)
2007-6-27 22:07
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我尝试将lm_code.h中的LM_STRENGTH由原先的LM_STRENGTH_DEFAULT改为LM_STRENGTH_113BIT。结果编译成功后运行lmcrypt后出来的SIGN还是12个字符(按照定义应该是58个字符)。便宜完成后再返回去看那个lm_code.h文件——那个LM_STRENGTH的定义又被改回了LM_STRENGTH_DEFAULT,郁闷啊!

再给楼主补充一把:如果编译器使用的是VC8。那么lmcrypt的运行指令为lmcrypt.exe -i counted.lic。否则会出错。
2007-6-28 00:19
0
雪    币: 217
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
编译完成了,谢谢!
2007-7-8 16:49
0
雪    币: 217
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
to:[注:说是不完全编译是因为还有一些问题没有解决,genlic32一直运行不起来正在查找资料]
to:[那个genlic32怎么用不了?那位有知道的,还望赐教。]

     RELEASE_NOTES中说:genlic GUI license generator utility support not available, please use lmcrypt or makekey command-line utilities.
2007-7-8 16:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
genlic32.exe最高只有7.2的,后面没有新版的了。你要在80以后的版本里使用genlic32,需要把LM_CODE.H文件中的VenKey1~5换成Ver 8的。不然总会提示-44号错误--Key不符和。
2007-7-9 09:06
0
雪    币: 334
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
Mark
2017-7-24 16:08
0
雪    币: 101
活跃值: (743)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
mark。谢谢分享。正在寻找v9.2 source下载地址。
2020-8-13 22:51
0
雪    币: 6134
活跃值: (6771)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
25
tcy027 mark。谢谢分享。正在寻找v9.2 source下载地址。

下载地址:  https://download.csdn.net/download/yongxing510/4481466

编译方法:  https://blog.csdn.net/hottomson/article/details/1209097


注意:千万不要在高版本VS下尝试,我仅在VC6.0下编译成功,VS2010以上出各种错
 


2020-8-14 17:54
0
游客
登录 | 注册 方可回帖
返回
//