pertama kita membutuhkan:
a. mingw dan msys (msys: optional) : gendef.exe
b. visual studio 2013 (boleh versi sebelumnya) : lib.exe
nah anggaplah kita telah mempunyai file libmpg123-0.dll yang kita peroleh dari suatu tempat opensource, dan tersimpan di c:\myvslib\bin.
prosedurnya:
1. extract symbol atau function definition dari file libmpg123-0.dll tersebut dengan menggunakan gendef.exe.
buka console terminal cmd
c:
cd \myvslib\bin
gendef.exe libmpg123-0.dll
* [libmpg123-0.dll] Found PE image
sampai disini maka akan tersedia file libmpg123-0.def di folder tersebut. isi dari libmpg123-0.def adalah daftar function yang tersedia didalam file libmpg123-0.dll.
; ; Definition file of libmpg123-0.dll ; Automatic generated by gendef ; written by Kai Tietz 2008 ; LIBRARY "libmpg123-0.dll" EXPORTS mpg123_add_string mpg123_add_substring mpg123_chomp_string mpg123_clip mpg123_close mpg123_copy_string mpg123_current_decoder mpg123_decode mpg123_decode_frame mpg123_decode_frame_32 mpg123_decoder mpg123_decoders mpg123_delete mpg123_delete_pars mpg123_enc_from_id3 mpg123_encodings mpg123_encsize mpg123_eq mpg123_errcode mpg123_exit mpg123_feature mpg123_feed mpg123_feedseek mpg123_feedseek_32 mpg123_fmt mpg123_fmt_all mpg123_fmt_none mpg123_fmt_support mpg123_format mpg123_format_all mpg123_format_none mpg123_format_support mpg123_framebyframe_decode mpg123_framebyframe_decode_32 mpg123_framebyframe_next mpg123_framedata mpg123_framepos mpg123_framepos_32 mpg123_free_string mpg123_geteq mpg123_getformat mpg123_getpar mpg123_getparam mpg123_getstate mpg123_getvolume mpg123_grow_string mpg123_icy mpg123_icy2utf8 mpg123_id3 mpg123_index mpg123_index_32 mpg123_info mpg123_init mpg123_init_string mpg123_length mpg123_length_32 mpg123_meta_check mpg123_meta_free mpg123_new mpg123_new_pars mpg123_noise mpg123_open mpg123_open_32 mpg123_open_fd mpg123_open_fd_32 mpg123_open_feed mpg123_open_handle mpg123_open_handle_32 mpg123_outblock mpg123_par mpg123_param mpg123_parnew mpg123_plain_strerror mpg123_position mpg123_position_32 mpg123_rates mpg123_read mpg123_replace_buffer mpg123_replace_reader mpg123_replace_reader_32 mpg123_replace_reader_handle mpg123_replace_reader_handle_32 mpg123_reset_eq mpg123_resize_string mpg123_safe_buffer mpg123_scan mpg123_seek mpg123_seek_32 mpg123_seek_frame mpg123_seek_frame_32 mpg123_set_filesize mpg123_set_filesize_32 mpg123_set_index mpg123_set_index_32 mpg123_set_string mpg123_set_substring mpg123_spf mpg123_store_utf8 mpg123_strerror mpg123_strlen mpg123_supported_decoders mpg123_tell mpg123_tell_32 mpg123_tell_stream mpg123_tell_stream_32 mpg123_tellframe mpg123_tellframe_32 mpg123_timeframe mpg123_timeframe_32 mpg123_tpf mpg123_volume mpg123_volume_change
2. link file libmpg123-0.def menjadi libmpg123-0.lib dengan menggunakan perintah lib.exe dari visual studio. masih didalam directory c:\myvslib\bin, gunakan lib.exe untuk mengkonversikan file libmpg123-0.def tersebut menjadi file .lib yang kelak akan digunakan oleh visual studio.
lib.exe /def:libmpg123-0.def /OUT:libmpg123-0.lib
Microsoft (R) Library Manager Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.
LINK : warning LNK4068: /MACHINE not specified; defaulting to X86
Creating library libmpg123-0-d.lib and object libmpg123-0-d.exp
maka didalam folder akan terdapat file libmpg123-0-d.lib dan libmpg123-0-d.exp. kedua file tersebutlah yang kelak akan digunakan di visual studio sebagai library tambahan dalam suatu program.
oh ya.. sebelum melakukan langkah tersebut silahkan pastikan terlebih dahulu bahwa situs mpg123 tersebut memang tidak menyediakan developer version dari library tersebut. karena bagaimanapun juga kita lebih baik menggunakan versi developer dari pemilik library tersebut. disana masih dibutuhkan header file untuk dapat menggunakan library tersebut dalam visual studio.
Tidak ada komentar:
Posting Komentar