Listing .lib functions for PocketPC

Started by drakoh, April 11, 2005, 04:25:38 PM

Previous topic - Next topic

drakoh

Hi pelle !

do you think it is possible to list all the functions inside a .lib ?

like I currently have some linking problems, and I dont wanna bother everyone each time I dont find the function.

I usually check on msdn.com and find the info, but sometimes I dont.

like those functions :
POLINK: error: Unresolved external symbol 'lstrlenW'.
POLINK: error: Unresolved external symbol 'strdup'.
POLINK: error: Unresolved external symbol '_tcsncpy'.
POLINK: error: Unresolved external symbol 'gethostname'.
POLINK: error: Unresolved external symbol 'gethostbyname'.
POLINK: error: Unresolved external symbol 'ShellExecuteExW'.
POLINK: error: Unresolved external symbol 'InternetOpenW'.
POLINK: error: Unresolved external symbol 'InternetCrackUrlW'.
POLINK: error: Unresolved external symbol 'InternetConnectW'.
POLINK: error: Unresolved external symbol 'HttpOpenRequestW'.
POLINK: error: Unresolved external symbol 'HttpSendRequestW'.
POLINK: error: Unresolved external symbol 'InternetReadFile'.
POLINK: error: Unresolved external symbol 'InternetCloseHandle'.
POLINK: error: Unresolved external symbol '_tcscpy'.
POLINK: error: Unresolved external symbol 'RasValidateEntryNameW'.
POLINK: error: Unresolved external symbol 'RasSetEntryPropertiesW'.
POLINK: error: Unresolved external symbol 'RasSetEntryDialParamsW'.

I checked the one about Internet stuff and tis said in the msdn that those functions should be in wininet.lib, though it doesn't link ...

and the Ras stuff should be in rasapi32.lib, though it seems it can't find it ...

BTW, how do I know a .lib is for arm or for x86 ?

thx again for your time !

Pelle

You can use PODUMP (console mode program) to look inside different file types. For a LIB file you can use:

PODUMP -linkermember:1 -headers somename.LIB >file.txt

This should give you a list of symbols in file.txt (examples from commdlg.lib)...


     13 global symbols

    2E2 __IMPORT_DESCRIPTOR_commdlg
    50C __NULL_IMPORT_DESCRIPTOR
    644 commdlg_NULL_THUNK_DATA
    798 ChooseColor
    798 __imp_ChooseColor
    944 PrintDlg
    944 __imp_PrintDlg
    8DA PageSetupDlgW
    8DA __imp_PageSetupDlgW
    868 CommDlgExtendedError
    868 __imp_CommDlgExtendedError
    800 ChooseFontW
    800 __imp_ChooseFontW


...and you can look for entries like the following (one for each OBJ file, but enough to look at the first):


FILE HEADER
    1C0 machine (ARM)  <------ This is for ARM
      3 number of sections
3E906E8D timestamp (Sun Apr  6 20:14:37 2003)
    10C offset to symbol table
      8 number of symbols


Note that there is a big difference between desktop Windows and Pocket PC when it comes to the library names. I include the core libraries for Pocket PC in Pelles C, but I should check if this includes Internet stuff...

Pelle
/Pelle

Anonymous

Quote from: "drakoh"
do you think it is possible to list all the functions inside a .lib ?

Look in the Help file ... under Command Line Tools... POLIB...

POLIB <library name> /LIST

will list all calls in a library.

drakoh

gee we've got 2 lightning dudes ! ^_^

thx a lot for the info, will check very soon !