1 #include "disassembler/llvm/include_llvm.hxx"
5 #include <QApplication>
6 #if QT_VERSION > QT_VERSION_CHECK(5, 2, 0)
11 #include <QCommandLineParser>
15 #include "log4cxx/logger.h"
16 #include "log4cxx/basicconfigurator.h"
18 #include "gui/Mainwindow.hxx"
19 #include "core/InformationManager.hxx"
20 #include "disassembler/llvm/LLVMDisassembler.hxx"
22 int main(int argc
, char** argv
)
24 QApplication
app(argc
, argv
);
26 log4cxx::BasicConfigurator::configure();
27 log4cxx::LoggerPtr
_logger(log4cxx::Logger::getLogger("main"));
30 QCommandLineParser parser
;
33 QApplication::setApplicationName("frida");
34 QApplication::setApplicationVersion("0.0");
36 parser
.addHelpOption();
37 parser
.addVersionOption();
38 parser
.addPositionalArgument("filename", QCoreApplication::translate("main", "File to disassemble."));
43 InformationManager iman
;
45 LOG4CXX_DEBUG(_logger
, "Initializing LLVM");
46 llvm::InitializeAllTargetInfos();
47 llvm::InitializeAllTargetMCs();
48 llvm::InitializeAllAsmParsers();
49 llvm::InitializeAllDisassemblers();
51 LOG4CXX_DEBUG(_logger
, "Initializing Qt");
53 std::string filename
= "";
55 if (! parser
.positionalArguments().isEmpty()) {
56 filename
= parser
.positionalArguments().at(0).toStdString();