⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msvc_nmake.cpp

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.10平台上编译为嵌入式图形界面操作系统。
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    t << endl << endl;    if(!project->variables()["RC_FILE"].isEmpty()) {	t << var("RES_FILE") << ": " << var("RC_FILE") << "\n\t"	  << var("QMAKE_RC") << " " << var("RC_FILE") << endl << endl;    }    t << "mocables: $(SRCMOC)" << endl      << "uicables: $(UICIMPLS) $(UICDECLS)" << endl << endl;    writeMakeQmake(t);    QStringList dist_files = Option::mkfile::project_files;    if(!project->isEmpty("QMAKE_INTERNAL_INCLUDED_FILES"))	dist_files += project->variables()["QMAKE_INTERNAL_INCLUDED_FILES"];    if(!project->isEmpty("TRANSLATIONS"))	dist_files << var("TRANSLATIONS");    if(!project->isEmpty("FORMS")) {	QStringList &forms = project->variables()["FORMS"];	for(QStringList::Iterator formit = forms.begin(); formit != forms.end(); ++formit) {	    QString ui_h = fileFixify((*formit) + Option::h_ext.first());	    if(QFile::exists(ui_h) )		dist_files << ui_h;	}    }    t << "dist:" << "\n\t"      << "$(ZIP) " << var("QMAKE_ORIG_TARGET") << ".zip " << "$(SOURCES) $(HEADERS) $(DIST) $(FORMS) "      << dist_files.join(" ") << " " << var("TRANSLATIONS") << " " << var("IMAGES") << endl << endl;    t << "uiclean:"      << varGlue("UICDECLS" ,"\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","")      << varGlue("UICIMPLS" ,"\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","") << endl;    t << "mocclean:"      << varGlue("SRCMOC" ,"\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","")      << varGlue("OBJMOC" ,"\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","") << endl;    t << "clean: uiclean mocclean"      << varGlue("OBJECTS","\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","")      << varGlue("QMAKE_CLEAN","\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","\n")      << varGlue("CLEAN_FILES","\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","\n");    if ( project->isActiveConfig("activeqt")) {	t << ("\n\t-$(DEL_FILE) tmp\\" + targetfilename + ".*");	t << "\n\t-$(DEL_FILE) tmp\\dump.*";    }    if(!project->isEmpty("IMAGES"))	t << varGlue("QMAKE_IMAGE_COLLECTION", "\n\t-$(DEL_FILE) ", "\n\t-$(DEL_FILE) ", "");    t << endl;    // user defined targets    QStringList &qut = project->variables()["QMAKE_EXTRA_WIN_TARGETS"];    for(QStringList::Iterator it = qut.begin(); it != qut.end(); ++it) {	QString targ = var((*it) + ".target"),		 cmd = var((*it) + ".commands"), deps;	if(targ.isEmpty())	    targ = (*it);	QStringList &deplist = project->variables()[(*it) + ".depends"];	for(QStringList::Iterator dep_it = deplist.begin(); dep_it != deplist.end(); ++dep_it) {	    QString dep = var((*dep_it) + ".target");	    if(dep.isEmpty())		dep = (*dep_it);	    deps += " " + dep;	}	if(!project->variables()["QMAKE_NOFORCE"].isEmpty() && 	   project->variables()[(*it) + ".CONFIG"].findIndex("phony") != -1)	    deps += QString(" ") + "FORCE";	t << "\n\n" << targ << ":" << deps << "\n\t"	  << cmd;    }    t << endl << endl;    if(project->variables()["QMAKE_NOFORCE"].isEmpty())	t << "FORCE:" << endl << endl;    t << "distclean: clean"      << "\n\t-$(DEL_FILE) $(TARGET)"      << endl << endl;}voidNmakeMakefileGenerator::init(){    if(init_flag)	return;    init_flag = TRUE;    /* this should probably not be here, but I'm using it to wrap the .t files */    if(project->first("TEMPLATE") == "app")	project->variables()["QMAKE_APP_FLAG"].append("1");    else if(project->first("TEMPLATE") == "lib")	project->variables()["QMAKE_LIB_FLAG"].append("1");    else if(project->first("TEMPLATE") == "subdirs") {	MakefileGenerator::init();	if(project->variables()["MAKEFILE"].isEmpty())	    project->variables()["MAKEFILE"].append("Makefile");	if(project->variables()["QMAKE"].isEmpty())	    project->variables()["QMAKE"].append("qmake");	return;    }    if( project->isEmpty("QMAKE_COPY_FILE") )	project->variables()["QMAKE_COPY_FILE"].append( "$(COPY)" );    if( project->isEmpty("QMAKE_COPY_DIR") )	project->variables()["QMAKE_COPY_DIR"].append( "$(COPY)" );    bool is_qt = (project->first("TARGET") == "qt"QTDLL_POSTFIX || project->first("TARGET") == "qt-mt"QTDLL_POSTFIX);    project->variables()["QMAKE_ORIG_TARGET"] = project->variables()["TARGET"];    QString targetfilename = project->variables()["TARGET"].first();    QStringList &configs = project->variables()["CONFIG"];    if (project->isActiveConfig("qt") && project->isActiveConfig("shared"))	project->variables()["DEFINES"].append("QT_DLL");    if (project->isActiveConfig("qt_dll"))	if(configs.findIndex("qt") == -1) configs.append("qt");    if ( project->isActiveConfig("qtopia") ) {	if(configs.findIndex("qtopialib") == -1)	    configs.append("qtopialib");	if(configs.findIndex("qtopiainc") == -1)	    configs.append("qtopiainc");    }    if ( project->isActiveConfig("qt") ) {	if ( project->isActiveConfig( "plugin" ) ) {	    project->variables()["CONFIG"].append("dll");	    if(project->isActiveConfig("qt"))		project->variables()["DEFINES"].append("QT_PLUGIN");	}	if ( (project->variables()["DEFINES"].findIndex("QT_NODLL") == -1) &&         ((project->variables()["DEFINES"].findIndex("QT_MAKEDLL") != -1 ||           project->variables()["DEFINES"].findIndex("QT_DLL") != -1) ||          (getenv("QT_DLL") && !getenv("QT_NODLL"))) ) {	    project->variables()["QMAKE_QT_DLL"].append("1");	    if ( is_qt && !project->variables()["QMAKE_LIB_FLAG"].isEmpty() )		project->variables()["CONFIG"].append("dll");	}	if ( project->isActiveConfig("thread") )	    project->variables()[is_qt ? "PRL_EXPORT_DEFINES" : "DEFINES"].append("QT_THREAD_SUPPORT");	if ( project->isActiveConfig("accessibility" ) )	    project->variables()[is_qt ? "PRL_EXPORT_DEFINES" : "DEFINES"].append("QT_ACCESSIBILITY_SUPPORT");	if ( project->isActiveConfig("tablet") )	    project->variables()[is_qt ? "PRL_EXPORT_DEFINES" : "DEFINES"].append("QT_TABLET_SUPPORT");    }    if ( project->isActiveConfig("dll") || !project->variables()["QMAKE_APP_FLAG"].isEmpty() ) {	project->variables()["CONFIG"].remove("staticlib");	project->variables()["QMAKE_APP_OR_DLL"].append("1");    } else {	project->variables()["CONFIG"].append("staticlib");    }    if ( project->isActiveConfig("warn_off") ) {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_WARN_OFF"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_WARN_OFF"];    } else if ( project->isActiveConfig("warn_on") ) {	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_WARN_ON"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_WARN_ON"];    }    if ( project->isActiveConfig("debug") ) {        if ( project->isActiveConfig("thread") ) {	    // use the DLL RT even here	    if ( project->variables()["DEFINES"].contains("QT_DLL") ) {		project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_MT_DLLDBG"];		project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_MT_DLLDBG"];	    } else {		project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_MT_DBG"];		project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_MT_DBG"];	    }	}	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_DEBUG"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_DEBUG"];	project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_DEBUG"];    } else {	if ( project->isActiveConfig("thread") ) {	    if ( project->variables()["DEFINES"].contains("QT_DLL") ) {		project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_MT_DLL"];		project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_MT_DLL"];	    } else {		project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_MT"];		project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_MT"];	    }	}	project->variables()["QMAKE_CFLAGS"] += project->variables()["QMAKE_CFLAGS_RELEASE"];	project->variables()["QMAKE_CXXFLAGS"] += project->variables()["QMAKE_CXXFLAGS_RELEASE"];	project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_RELEASE"];    }    if ( project->isActiveConfig("thread") && !project->variables()["DEFINES"].contains("QT_DLL")	&& !is_qt && project->first("TARGET") != "qtmain") {	project->variables()["QMAKE_LFLAGS"].append("/NODEFAULTLIB:\"libc\"");    }    if ( !project->variables()["QMAKE_INCDIR"].isEmpty())	project->variables()["INCLUDEPATH"] += project->variables()["QMAKE_INCDIR"];    if ( project->isActiveConfig("qt") || project->isActiveConfig("opengl") )	project->variables()["CONFIG"].append("windows");    if ( project->isActiveConfig("qtopiainc") )	project->variables()["INCLUDEPATH"] += project->variables()["QMAKE_INCDIR_QTOPIA"];    if ( project->isActiveConfig("qtopialib") ) {	if(!project->isEmpty("QMAKE_LIBDIR_QTOPIA"))	    project->variables()["QMAKE_LIBDIR"] += project->variables()["QMAKE_LIBDIR_QTOPIA"];	project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_QTOPIA"];    }    if ( project->isActiveConfig("qt") ) {	project->variables()["CONFIG"].append("moc");	project->variables()["INCLUDEPATH"] +=	project->variables()["QMAKE_INCDIR_QT"];	project->variables()["QMAKE_LIBDIR"] += project->variables()["QMAKE_LIBDIR_QT"];	if ( !project->isActiveConfig("debug") )	    project->variables()[is_qt ? "PRL_EXPORT_DEFINES" : "DEFINES"].append("QT_NO_DEBUG");	if ( is_qt && !project->variables()["QMAKE_LIB_FLAG"].isEmpty() ) {	    if ( !project->variables()["QMAKE_QT_DLL"].isEmpty()) {		project->variables()["DEFINES"].append("QT_MAKEDLL");		project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_QT_DLL"];	    }	} else {	    if(project->isActiveConfig("thread"))		project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_QT_THREAD"];	    else		project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_QT"];	    if ( !project->variables()["QMAKE_QT_DLL"].isEmpty() ) {		int hver = findHighestVersion(project->first("QMAKE_LIBDIR_QT"), "qt");		if ( hver == -1 )		    hver = findHighestVersion(project->first("QMAKE_LIBDIR_QT"), "qt-mt");		if(hver != -1) {		    QString ver;		    ver.sprintf("qt%s" QTDLL_POSTFIX "%d.lib", (project->isActiveConfig("thread") ? "-mt" : ""), hver);		    QStringList &libs = project->variables()["QMAKE_LIBS"];		    for(QStringList::Iterator libit = libs.begin(); libit != libs.end(); ++libit)			(*libit).replace(QRegExp("qt(-mt)?\\.lib"), ver);		}	    }	    if ( project->isActiveConfig( "activeqt" ) ) {		project->variables().remove("QMAKE_LIBS_QT_ENTRY");		project->variables()["QMAKE_LIBS_QT_ENTRY"] = "qaxserver.lib";		if ( project->isActiveConfig( "dll" ) )		    project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_QT_ENTRY"];	    }	    if ( !project->isActiveConfig("dll") && !project->isActiveConfig("plugin") ) {		project->variables()["QMAKE_LIBS"] +=project->variables()["QMAKE_LIBS_QT_ENTRY"];	    }	}    }    if ( project->isActiveConfig("opengl") ) {	project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_OPENGL"];	project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_OPENGL"];    }    if ( project->isActiveConfig("dll") ) {	project->variables()["QMAKE_CFLAGS_CONSOLE_ANY"] = project->variables()["QMAKE_CFLAGS_CONSOLE_DLL"];	project->variables()["QMAKE_CXXFLAGS_CONSOLE_ANY"] = project->variables()["QMAKE_CXXFLAGS_CONSOLE_DLL"];	project->variables()["QMAKE_LFLAGS_CONSOLE_ANY"] = project->variables()["QMAKE_LFLAGS_CONSOLE_DLL"];	project->variables()["QMAKE_LFLAGS_WINDOWS_ANY"] = project->variables()["QMAKE_LFLAGS_WINDOWS_DLL"];	if ( !project->variables()["QMAKE_LIB_FLAG"].isEmpty()) {	    project->variables()["TARGET_EXT"].append(		QStringList::split('.',project->first("VERSION")).join("") + ".dll");	} else {	    project->variables()["TARGET_EXT"].append(".dll");	}    } else {	project->variables()["QMAKE_CFLAGS_CONSOLE_ANY"] = project->variables()["QMAKE_CFLAGS_CONSOLE"];	project->variables()["QMAKE_CXXFLAGS_CONSOLE_ANY"] = project->variables()["QMAKE_CXXFLAGS_CONSOLE"];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -