① 如何生成第三方需要的lib文件
3、Main-Class後面是類的全地址,比如你的主文件是KillCheatFans.java,文件里打包為package com.main; 那麼這里就寫com.main.KillCheatFans,
不要加.java後綴,主文件地址寫錯將會出現「找不到或無法載入主類」的錯誤;
4、寫完Main-Class後一定要回車(即最後一行是空白行),讓游標到下一行,這樣你生成的jar包才能找到你的主class去運行,
否則將會出現「jar中沒有主清單屬性」的錯誤。
步驟2:右擊Java工程選擇Export—>選擇JAR file—>Next
步驟3:選擇要打包的文件,不需要的文件不必打包,減小打包後的jar文件大小,並進行選項配置如下
這里有幾個選項:
* Export generated class files and resources 表示只導出生成的.class文件和其他資源文件
* Export all output folders for checked projects 表示導出選中項目的所有文件夾
* Export java source file and resouces 表示導出的jar包中將包含你的源代碼*.java,如果你不想泄漏源代碼,那麼就不要選這項了
* Export refactorings for checked projects 把一些重構的信息文件也包含進去
步驟4:選擇我們在第一步中自定義的配置文件路徑,這一步很重要,不能採用默認選項
這里解釋一下配置項:
* Generate the manifest file:是系統幫我們自動生成MANIFEST.MF文件,如果你的項目沒有引用其他class-path,那可以選擇這一項。
* Use existing mainfest from workspace:這是可以選擇我們自定義的.MF文件,格式如上所寫,引用了第三方包時選用。
* Seal content:要封裝整個jar或者指定的包packet。
* Main class:這里可以選擇你的程序入口,將來打包出來的jar就是你這個入口類的執行結果。
最後Finish,即生成了我們要的jar文件。
運行該jar文件有兩種方式:
1. 在命令行下運行命令java -jar 你的jar文件名稱,比如我的執行如下:
如果在jar中有一些System.out.prinln語句(如上執行結果),運行後不想在控制台輸出而是保存在文件中方便以後查看,可以用一下命令:
java -jar KillCheatFans.jar > log.txt (這時命令行窗口不會有任何輸出)
輸出信息會被列印到log.txt中,當然log.txt自動生成,並位於和KillCheatFans.jar一個目錄中。
2. 新建一個批處理文件,如start.bat,內容為:java -jar KillCheatFans.jar,放在jar文件同一目錄下即可,以後點擊自動運行即可,更加方便。
方案二:安裝Eclipse打包插件Fat Jar
方案一對於含有較多第三方jar文件或含有第三方圖片資源等就顯得不合適,太繁瑣。這時可以使用一個打包的插件—Fat Jar。
Fat Jar Eclipse Plug-In是一個可以將Eclipse Java Project的所有資源打包進一個可執行jar文件的小工具,可以方便的完成各種打包任務,我們經常會來打jar包,但是eclipse自帶的打包jar似乎不太夠用,Fat Jar是eclipse的一個插件,特別是Fat Jar可以打成可執行Jar包,並且在圖片等其他資源、引用外包方面使用起來更方便。
安裝方法:
1. Eclipse在線更新方法
Help > Install New Software > Add,
name:Fat Jar
location:
2. Eclipse插件手動安裝方法
將解壓出的plugins中的文件復制到eclipse安裝目錄中的plugins目錄下,然後重啟eclipse即可。
使用方法:
步驟1:右擊工程項目選擇Buile Fat Jar
步驟2:配置jar文件存放目錄,主Main文件等,如下圖
步驟3:選擇所要用到的第三方jar包
最後Finish,即生成了我們要的jar文件,十分方便。
② 我該如何創建lib文件
比如你在VC6.0有一個工程project,裡面有以下3個文件
/*1*/fun.h
#ifndef FUN_H
#define FUN_H
void fun();
#endif
/*2*/fun.c
#include <stdio.h>
#include "fun.h"
void fun()
{
printf("fun()");
}
/*3*/main.c
#include <stdio.h>
#include "fun.h"
int main()
{
fun();
getchar();
}
菜單project->setting->link
把輸出文件名「Debug/project.exe」改成「Debug/project.lib」,確定
按內F7組建project.lib
這樣在你容的project\Debug文件夾下就可以找到project.lib了
③ eclipse如何生成lib文件
不是lib文件,應該是jar文件,java中jar是類庫。
eclipse導出可執行jar包的步驟:
1、在eclpse中找到你要導出的java程序 選中
2、單擊文件菜單,選擇export 菜單項
3、在彈出的export對話框中找到 jar File 單擊選中,點擊next
4、選好java程序,勾選右欄兩個選項,選擇保存到文件名和位置,最後點next
5、在彈出的窗口中點擊 Browse 瀏覽java文件選擇程序入口java文件
6、選中入口程序後 點next,然後點擊finish即可生成jar文件
④ cmake後怎麼生成lib文件
下載CMake 3.2.1 ,將dlib-18.14 解壓到D盤建立打包後的文件夾dlib_building,源文dlib-18.14/dlib中,是Dlib軟體包中的文件夾 將路徑放入CMake中,點擊Generate 生成項目。(Dlib中有make文件) 。即可生成lib文件。
⑤ 如何通過dll文件生成對應的lib文件
方法/步驟
1
這里我用的是vs2008,網路下載vs2008,然後安裝,安裝界面如下圖所示。
2
安裝完成後是配置軟體的PATH,如下圖所示,右擊選擇「屬性」。
3
在彈出的窗口中選擇「高級系統設置」,如下圖所示。
4
然後如下圖所示,點擊「環境變數」。
5
在系統變數一欄中找到PATH,雙擊後就可以修改了。
6
在彈出的編輯窗口中輸入vc的bin路徑,然後保存退出。
7
打開windows下的控制台窗口CMD,進入到Dll所在的路徑。
8
執行以下命令生成一個def文件:
pexports mydll.dll -o > mydll.def
9
最後執行以下命令就可以生成一個lib文件了:
lib /machine:ix86 /def:mylib.def
⑥ 如何由dll文件生成lib文件
編號: QA004062�0�2�0�2�0�2�0�2�0�2所屬類別: C/C++ - 其他方面
�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2 操作系統:windows
�0�2�0�2�0�2 編程工具:visual c++
�0�2�0�2�0�2 水平:剛入門(yijiong shi)�0�2
�0�2�0�2�0�2
�0�2�0�2�0�2�0�2 .lib有兩種,一種是靜態的,其中包括函數的實際代碼,
一種是由DLL生成的.lib,其中並不包含代碼,
只是包含DLL的鏈接信息。只有前一種才存在你說的轉換問題。
另外一點要看.lib中的內容,如果是普通的C語言函數,
可以轉換,如果是C++類,則不能直接轉換為DLL,
因為即使你直接編譯為DLL,也只有VC的程序才能使用(
那何必費這事),即使C++ Builder也不能調用,你必須把類轉換為普通的C語言函數,
你可以參考QA000072 VB和VC混合編程中編寫DLL的方法。
⑦ 根據dll生成lib的方法
設置VS2015運行環境
在開始菜單打開Visual Studio 2015\Visual Studio Tools\Windows Desktop Command Prompts\VS2015 x86 x64 Cross Tools Command Prompt
切換到DLL所在目錄
在命令窗口輸入 cd /d "你的DLL目錄"回車切換到對應目錄。
生成DEF文件
mpbin /exports zmotion_x64.dll> zmotion_x64.def
生成的文件如下:
Microsoft (R) COFF/PE Dumper Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file zmotion_x64.dll
File Type: DLL
Section contains the following exports for zmotion.dll
00000000 characteristics
54101CA1 time date stamp Wed Sep 10 17:40:49 2014
0.00 version
1 ordinal base
136 number of functions
136 number of names
ordinal hint RVA name
134 0 0000CA20 DllCanUnloadNow
135 1 0000C9C0 DllGetClassObject
136 2 0000CA60 DllRegisterServer
1 3 00003FB0 ZMC_BreakAdd
2 4 00004160 ZMC_BreakClear
3 5 00004090 ZMC_BreakDel
4 6 00001EB0 ZMC_CalStringHash
5 7 000039C0 ZMC_CancelOnline
6 8 00001F80 ZMC_Check3File
7 9 00002C50 ZMC_CheckFirmWare
8 A 000034E0 ZMC_CheckProgramSyntax
9 B 00003190 ZMC_ClearLog
10 C 00001450 ZMC_Close
11 D 000020B0 ZMC_Delete3File
12 E 00003300 ZMC_DeleteFile
13 F 000016F0 ZMC_DirectCommand
14 10 00003260 ZMC_DownFile
15 11 00002DA0 ZMC_DownFirmWare
16 12 00003280 ZMC_DownMemFile
17 13 000018A0 ZMC_DownMemZar
18 14 000019E0 ZMC_DownMemZarToRamAndRun
19 15 000017A0 ZMC_DownZar
20 16 000018D0 ZMC_DownZarToRamAndRun
21 17 00003E80 ZMC_EnumArray
22 18 00003C80 ZMC_EnumChildCard
23 19 00003E80 ZMC_EnumLabel
24 1A 00003D60 ZMC_EnumLocal
25 1B 00003E80 ZMC_EnumPara
26 1C 00003E80 ZMC_EnumSub
27 1D 00003E80 ZMC_EnumVar
28 1E 00004530 ZMC_Execute
29 1F 00001650 ZMC_ExecuteGetReceive
30 20 000016C0 ZMC_ExecuteGetRemainBuffSpace
31 21 00004430 ZMC_ExecuteNoAck
32 22 00001610 ZMC_ExecuteWaitDown
33 23 00004210 ZMC_FastOpen
34 24 00002020 ZMC_FindFirst3File
35 25 00003200 ZMC_FindFirstFile
36 26 00002050 ZMC_FindNext3File
37 27 00003230 ZMC_FindNextFile
38 28 00002160 ZMC_FlashReadf
39 29 000020F0 ZMC_FlashWritef
40 2A 000026F0 ZMC_GetAIn
41 2B 000034F0 ZMC_GetAxisFeatures
42 2C 000025C0 ZMC_GetAxisStates
43 2D 000015E0 ZMC_GetAxises
44 2E 00002270 ZMC_GetChipId
45 2F 00002230 ZMC_GetClientId
46 30 00001570 ZMC_GetConnectString
47 31 00001540 ZMC_GetConnectType
48 32 00002F40 ZMC_GetControllerIDDate
49 33 00002080 ZMC_GetCur3File
50 34 00002200 ZMC_GetCurIpAddr
51 35 000027A0 ZMC_GetDaOut
52 36 000034B0 ZMC_GetErrcodeDescription
53 37 00002250 ZMC_GetError
54 38 00003BD0 ZMC_GetFileState
55 39 00002260 ZMC_GetHardId
56 3A 00002480 ZMC_GetIn
57 3B 000029A0 ZMC_GetInAll
58 3C 000031D0 ZMC_GetMac
59 3D 000034E0 ZMC_GetMaxPciCards
60 3E 00002A50 ZMC_GetOutAll
61 3F 00002520 ZMC_GetOutput
62 40 00001510 ZMC_GetProgress
63 41 00002240 ZMC_GetSoftId
64 42 00002280 ZMC_GetSoftVersion
65 43 000015A0 ZMC_GetState
66 44 000015B0 ZMC_GetStopPauseTaskid
67 45 000037D0 ZMC_GetStringType
68 46 00003510 ZMC_GetSysSpecification
69 47 00003AE0 ZMC_GetTaskStackState
70 48 000039D0 ZMC_GetTaskState
71 49 000014D0 ZMC_GetTimeOut
72 4A 00001EA0 ZMC_GetZlibGlobalDefine
73 4B 00003F20 ZMC_GlobalArrayGet
74 4C 00003E90 ZMC_GlobalVarGet
75 4D 00002BC0 ZMC_JumpApp
76 4E 00002BD0 ZMC_JumpZbios
77 4F 00004720 ZMC_Lock
78 50 00003120 ZMC_LowFormatNand
79 51 00001C90 ZMC_MakeOneFileZpj
80 52 00001E10 ZMC_MakeRealZpj
81 53 00001E80 ZMC_MakeRealZpjMem
83 54 00001760 ZMC_MakeZar
82 55 00001780 ZMC_MakeZar2
85 56 00001BB0 ZMC_MakeZarAndDown
84 57 00001C20 ZMC_MakeZarAndDown2
87 58 00001AD0 ZMC_MakeZarAndRamRun
86 59 00001B40 ZMC_MakeZarAndRamRun2
88 5A 00001E90 ZMC_MakeZlib
89 5B 00003390 ZMC_Modbus_Get0x
90 5C 000033F0 ZMC_Modbus_Get4x
91 5D 00003330 ZMC_Modbus_Set0x
92 5E 00003450 ZMC_Modbus_Set4x
93 5F 00003E80 ZMC_ModifyLocal
94 60 00004170 ZMC_Open
95 61 000042C0 ZMC_OpenCom
97 62 00004390 ZMC_OpenEth
96 63 000043A0 ZMC_OpenEth2
98 64 00001100 ZMC_OpenPci
99 65 00001F60 ZMC_Pause
100 66 00004320 ZMC_PeakCom
101 67 000036E0 ZMC_ReadMessage
102 68 000020E0 ZMC_RemoveAll3Files
103 69 00003140 ZMC_ResetController
104 6A 00001F50 ZMC_Resume
105 6B 00003130 ZMC_ReturnDefault
106 6C 00001F00 ZMC_RunZarFile
107 6D 000043C0 ZMC_SearchAndOpenCom
108 6E 00001110 ZMC_SearchAndOpenEth
109 6F 00001340 ZMC_SearchEth
110 70 00002340 ZMC_SetAxisEnable
111 71 000010E0 ZMC_SetComDefaultBaud
112 72 00003040 ZMC_SetControllerIDDate
113 73 00002850 ZMC_SetDaOut
114 74 000031A0 ZMC_SetMac
115 75 000028F0 ZMC_SetOutAll
116 76 000023E0 ZMC_SetOutput
117 77 00001490 ZMC_SetTimeOut
118 78 00004920 ZMC_Signal_BasicP
119 79 00004940 ZMC_Signal_BasicV
120 7A 00002BB0 ZMC_StartHardwareTest
121 7B 00003900 ZMC_StepRun
122 7C 00001F70 ZMC_Stop
123 7D 00002BE0 ZMC_TempModBaud
124 7E 00002B00 ZMC_TestSoftware
125 7F 000047C0 ZMC_UnLock
126 80 00001ED0 ZMC_UpCurZpjToMem
127 81 000032B0 ZMC_UpFile
128 82 000032D0 ZMC_UpFileToMem
129 83 00003150 ZMC_UpLog
130 84 00003160 ZMC_UpLogToMem
131 85 00003E80 ZMC_UpZar
132 86 00003E80 ZMC_UpZarToMem
133 87 00003E80 ZMC_UpZarToProject
Summary
18000 .data
14000 .pdata
83000 .rdata
13000 .reloc
3000 .rsrc
176000 .text
1000 data
1000 text
修改def文件為標准def格式
將zmotion_x64.def修改保存如下文件格式:
LIBRARY
EXPORTS
ZMC_BreakAdd
ZMC_BreakClear
ZMC_BreakDel
ZMC_CalStringHash
ZMC_CancelOnline
ZMC_Check3File
ZMC_CheckFirmWare
ZMC_CheckProgramSyntax
ZMC_ClearLog
ZMC_Close
ZMC_Delete3File
ZMC_DeleteFile
ZMC_DirectCommand
ZMC_DownFile
ZMC_DownFirmWare
ZMC_DownMemFile
ZMC_DownMemZar
ZMC_DownMemZarToRamAndRun
ZMC_DownZar
ZMC_DownZarToRamAndRun
ZMC_EnumArray
ZMC_EnumChildCard
ZMC_EnumLabel
ZMC_EnumLocal
ZMC_EnumPara
ZMC_EnumSub
ZMC_EnumVar
ZMC_Execute
ZMC_ExecuteGetReceive
ZMC_ExecuteGetRemainBuffSpace
ZMC_ExecuteNoAck
ZMC_ExecuteWaitDown
ZMC_FastOpen
ZMC_FindFirst3File
ZMC_FindFirstFile
ZMC_FindNext3File
ZMC_FindNextFile
ZMC_FlashReadf
ZMC_FlashWritef
ZMC_GetAIn
ZMC_GetAxisFeatures
ZMC_GetAxisStates
ZMC_GetAxises
ZMC_GetChipId
ZMC_GetClientId
ZMC_GetConnectString
ZMC_GetConnectType
ZMC_GetControllerIDDate
ZMC_GetCur3File
ZMC_GetCurIpAddr
ZMC_GetDaOut
ZMC_GetErrcodeDescription
ZMC_GetError
ZMC_GetFileState
ZMC_GetHardId
ZMC_GetIn
ZMC_GetInAll
ZMC_GetMac
ZMC_GetMaxPciCards
ZMC_GetOutAll
ZMC_GetOutput
ZMC_GetProgress
ZMC_GetSoftId
ZMC_GetSoftVersion
ZMC_GetState
ZMC_GetStopPauseTaskid
ZMC_GetStringType
ZMC_GetSysSpecification
ZMC_GetTaskStackState
ZMC_GetTaskState
ZMC_GetTimeOut
ZMC_GetZlibGlobalDefine
ZMC_GlobalArrayGet
ZMC_GlobalVarGet
ZMC_JumpApp
ZMC_JumpZbios
ZMC_Lock
ZMC_LowFormatNand
ZMC_MakeOneFileZpj
ZMC_MakeRealZpj
ZMC_MakeRealZpjMem
ZMC_MakeZar
ZMC_MakeZar2
ZMC_MakeZarAndDown
ZMC_MakeZarAndDown2
ZMC_MakeZarAndRamRun
ZMC_MakeZarAndRamRun2
ZMC_MakeZlib
ZMC_Modbus_Get0x
ZMC_Modbus_Get4x
ZMC_Modbus_Set0x
ZMC_Modbus_Set4x
ZMC_ModifyLocal
ZMC_Open
ZMC_OpenCom
ZMC_OpenEth
ZMC_OpenEth2
ZMC_OpenPci
ZMC_Pause
ZMC_PeakCom
ZMC_ReadMessage
ZMC_RemoveAll3Files
ZMC_ResetController
ZMC_Resume
ZMC_ReturnDefault
ZMC_RunZarFile
ZMC_SearchAndOpenCom
ZMC_SearchAndOpenEth
ZMC_SearchEth
ZMC_SetAxisEnable
ZMC_SetComDefaultBaud
ZMC_SetControllerIDDate
ZMC_SetDaOut
ZMC_SetMac
ZMC_SetOutAll
ZMC_SetOutput
ZMC_SetTimeOut
ZMC_Signal_BasicP
ZMC_Signal_BasicV
ZMC_StartHardwareTest
ZMC_StepRun
ZMC_Stop
ZMC_TempModBaud
ZMC_TestSoftware
ZMC_UnLock
ZMC_UpCurZpjToMem
ZMC_UpFile
ZMC_UpFileToMem
ZMC_UpLog
ZMC_UpLogToMem
ZMC_UpZar
ZMC_UpZarToMem
ZMC_UpZarToProject
生成LIB文件
lib /def:zmotion_x64.def /machine:x64 /out:zmotion_x64.lib
原文鏈接:https://blog.csdn.net/sdhongjun/java/article/details/80111451
⑧ 如何通過dll文件生成對應的lib文件
通過dll文件生成對應的lib文件的方法
這里我用的是vs2008,網路下載vs2008,然後安裝。
安裝完成後是配置軟體的PATH,如下圖所示,右擊選擇「屬性」。
在彈出的窗口中選擇「高級系統設置」,如下圖所示。
然後如下圖所示,點擊「環境變數」。
在系統變數一欄中找到PATH,雙擊後就可以修改了。
在彈出的編輯窗口中輸入vc的bin路徑,然後保存退出。
打開windows下的控制台窗口CMD,進入到Dll所在的路徑。
執行以下命令生成一個def文件:pexports mydll.dll -o > mydll.def
最後執行以下命令就可以生成一個lib文件了:lib /machine:ix86 /def:mylib.def
⑨ C語言如何生成庫文件
有一些代碼,我們編程時經常用到,或者我們對某些部分很熟悉,並寫出了一些可用的介面。這時,我們會考慮把這些c文件做成一個lib庫,以方便自己使用,或這給別人調用。
我這里介紹下在vc++6.0下如何來製作靜態庫:
第一步:創建一個工程,選擇Win32Static
Library,輸入工程名。這時就創建好了。
第二步:工程創建好了,再點擊新建,這時選擇文件,選擇c++
source
file選項,創建一個.c
文件。
在這個文件中,你可以寫入你要做成庫的c函數。當然,可以繼續創建其他c文件,然後將要供外部使用的介面單獨放到頭文件中,一般而言,一個c文件對應一個頭文件。
第三步:完成以上步驟後,我們就可以生成庫了。事實上,我們點擊編譯即可,這時就可以生成.lib文件了。
一般情況下,是可以正常生成lib文件的。有頭文件和lib文件就可以給別人用了。然後我們可以寫一個測試函數來試試可不可以使用。
要調用生成的lib中的函數,就要引入頭函數。這時,你把lib和頭文件放入當前工程中,但build的時候卻顯示了連接錯誤。那是因為你沒有把lib文件包含進來。加入下面這句話即可了:
#pragma
comment(lib,
"mylib.lib
")
Ok,自己的lib庫就這樣做成了。以後可以隨便調用了