• 3570阅读
  • 3回复

[提问]VS 编译Qt project [复制链接]

上一主题 下一主题
离线liudaisuda
 

只看楼主 倒序阅读 楼主  发表于: 2013-04-11
— 本帖被 jdwx 从 Qt安装与发布 移动到本区(2013-04-11) —
关键词: 问题编译VS2008
大家好,LZ新手一枚,已经在电脑上安装好了QT,并配置好了环境。经测试,使用qt addin在VS2008中直接创建一个qt 窗口化程序可以运行。所以确信环境配置是没有问题的。

现在我在vs2008中直接创建一个空的C++ window32 console 工程,然后分别加入mywindow.h mywindow.cpp 和 test.cpp (见附件)。 mywindow是一个QDialog的子类,用到了Q_OBJECT宏。但是直接调试编译的话,却没有办法运行,得到很多无法解析的外部命令错误


经多方查找,得出是moc预编译没有做。试了一下,到mywindow.h的目录下用 moc -o moc_mywindow.cpp mywindow.h 生成了一个moc文件。但是编译还是不通过,相同的无法解析的外部命令错误。


是我漏了什么么?还是应该用别的办法?先感谢大家了


以下是文件里的代码情况:
//mywindow.h

#ifndef MYWINDOW_H
#define MYWINDOW_H


#include <QtGui>


class MyWindow : public QDialog
{
    Q_OBJECT
public:
    MyWindow();


    private slots:
        void checkCredentials();


private:
    QLabel *labelUsername;
    QPushButton *button;
    QLabel *labelPassword;
    QLineEdit *editUsername;
    QLineEdit *editPassword;
    QLabel *label;
    QVBoxLayout *mainLayout;
};




//test.cpp

#include "stdafx.h"
#include "mywindow.h"


#include <QtGui>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);


    MyWindow myWindow;
    myWindow.show();


    return a.exec();
}
mywindow.cpp (1 K) 下载次数:0 mywindow.h (1 K) 下载次数:0 Test.cpp (1 K) 下载次数:0
离线jdwx

只看该作者 1楼 发表于: 2013-04-11
回 楼主(liudaisuda) 的帖子
必须对一个Qt工程使用qmake生成makefile,至于UIC和MOC那是有make自动调用的。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线liudaisuda

只看该作者 2楼 发表于: 2013-04-11
回 1楼(jdwx) 的帖子
也就是说,我的方法从根本上是行不通的么?

离线roywillow

只看该作者 3楼 发表于: 2013-04-11
qt还是比较兼用用creator
至少简单的创建一个vs的c++ win32工程是不可能跑得动的
所以你还是用add on来创建qt工程吧
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个