• 3975阅读
  • 3回复

VC2005编译的无法运行 MingW编译的可以 [复制链接]

上一主题 下一主题
离线morya
 

只看楼主 倒序阅读 楼主  发表于: 2007-10-11
— 本帖被 XChinux 执行加亮操作(2008-07-18) —
VC2005编译过后,运行后xp报错。
VC2005是没有任何补丁的原始版本。
MingW编译,可以运行。
mingw版本
  ming32-make    3.81
    ming32-g++      3.4.2
哪位高人可以告知一二。

源代码如下。

  1. #include <QApplication>
  2. #include <QtGui>
  3. class MyApp;
  4. class MyApp:public QApplication{
  5. public:
  6.     MyApp(int & argc,char ** argv);
  7.     QString selfName;
  8.     QString getName() const;
  9. };
  10. MyApp::MyApp(int & argc,char ** argv):QApplication(argc,argv){
  11.     //int i=0;
  12.     char * n=argv[0];
  13.     while(*n !='\0'){
  14.         selfName += *n ;
  15.         n++;
  16.     }
  17.     delete n;
  18. }
  19. QString MyApp::getName()const{
  20.     return selfName;
  21. }
  22. class MWin:public QWidget{
  23.     private:
  24.         int data;
  25.         QString str;
  26.     public:
  27.         MWin(MyApp * theApp);
  28. };
  29. MWin::MWin(MyApp * theApp){
  30.     data=5;
  31.     QLineEdit * lblmsg=new QLineEdit(theApp->getName());
  32.     QVBoxLayout * layout=new QVBoxLayout;
  33.     setLayout(layout);
  34.     layout->addWidget(lblmsg);
  35.     QSettings settings("./settings.ini",QSettings::IniFormat);
  36.     if(settings.contains("App/language")){
  37.         QString strNowLang=settings.value("App/language").toString();
  38.         QSettings lang(settings.value("App/language").toString()+".ini",QSettings::IniFormat);
  39.         if(lang.contains("Title"))
  40.         {
  41.             this->setWindowTitle(lang.value("Title").toString());
  42.         }
  43.         else
  44.         {
  45.             this->setWindowTitle("DefaultTitle");
  46.             lang.setValue("Title","TitleReadedFromFile");
  47.             lang.sync();
  48.         }
  49.     }
  50.     else
  51.         {
  52.         settings.setValue("App/language","English");
  53.         settings.sync();
  54.     }
  55.     resize( sizeHint() );
  56. }
  57. int main(int argc,char * argv[]){
  58.     MyApp app(argc,argv);
  59.     app.setOrganizationName("Qiyezi");
  60.     app.setApplicationName("TestSoft");
  61.     MWin mw(&app);
  62.     mw.show();
  63.     return app.exec();
  64. }
离线morya

只看该作者 1楼 发表于: 2007-10-11
vc2005的错误贴图
离线liujianboy
只看该作者 2楼 发表于: 2007-10-13
delete n;
离线morya

只看该作者 3楼 发表于: 2007-10-15
高手。
嘿,谢了~
非常感谢~
快速回复
限100 字节
 
上一个 下一个