genwindef.cpp File Reference
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include "LibSymbolInfo.h"
Include dependency graph for genwindef.cpp:

Go to the source code of this file.

Namespaces

 windef
 

Functions

void windef::usage ()
 
int main (int argc, char **argv)
 

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 28 of file genwindef.cpp.

30 {
31  string outfile("exports.def");
32  string library("UnknownLib");
33  string objfiles;
34  bool debug(false);
35 
36  int arg;
37  if (argc < 3) windef::usage();
38  arg = 1;
39  while (argv[arg][0] == '-') {
40  if (strcmp(argv[arg], "--") == 0) {
41  windef::usage();
42  }
43  else if (strcmp(argv[arg], "-l") == 0) {
44  arg++;
45  if (arg == argc) windef::usage();
46  library = argv[arg];
47  }
48  else if (strcmp(argv[arg], "-o") == 0) {
49  arg++;
50  if (arg == argc) windef::usage();
51  outfile = argv[arg];
52  }
53  arg++;
54  }
55  if (arg == argc) windef::usage();
56  for (arg; arg < argc; arg++) {
57  objfiles += argv[arg];
58  if( arg+1 < argc) objfiles += " ";
59  }
60 
61  CLibSymbolInfo libsymbols;
62  ofstream out(outfile);
63  if(out.fail()) {
64  cerr << "windef: Error opening file " << outfile << endl;
65  return 1;
66  }
67  out << "LIBRARY " << library << endl;
68  out << "EXPORTS" << endl;
69 
70  libsymbols.DumpSymbols(const_cast<char*>(objfiles.c_str()), out);
71 
72  out.close();
73 
74 
75  return 0;
76 }
list argv
Definition: gaudirun.py:227
T endl(T...args)
STL class.
T strcmp(T...args)
T c_str(T...args)
void usage()
Definition: genwindef.cpp:21
BOOL DumpSymbols(LPTSTR lpszLibPathName, std::ostream &pFile)