zoukankan      html  css  js  c++  java
  • vc 学习笔记 之工程

    记录学习过程中的一些点滴:

    在做工程的时候遇到,在遇到解决方案里的菜单有用到项目里的类来创建变量,对于不在同一目录下的项目来说,这里是用到的的把同类的放到一起,包含头文件(全局用到的)放在inc文件夹里,

    1..lib文件放到lib文件夹里(这里的拷贝是设置vs2005,项目—》右键属性-》配置属性-》生成事件-》生成后事件-》命令行copy $(SolutionDir)$(ConfigurationName)\vss_carinfo.lib ..\lib\vss_carinfo.lib,这样可以不用人工把生成好的lib拷到文件夹,

    2.注意c++常规----附加包含目录设置为:..\inc,

    3.连接器常规-----附加库目录设置为..\lib。

     对余菜单的函数如下

    void CMainFrame::OnMenuTest()
    {//不用包含头文件,因为已经在stdafx.h里加载了#include "IVSS_CarInfoLibrary.h" #pragma comment(lib,"vss_carinfo.lib")
    //
     CtestDlg *dlg = new CtestDlg();
     dlg->DoModal();
     delete dlg;
    }

    注:以下stdafx.h的内容

    // stdafx.h : 标准系统包含文件的包含文件,
    // 或是经常使用但不常更改的
    // 特定于项目的包含文件

    #pragma once

    #ifndef _SECURE_ATL
    #define _SECURE_ATL 1
    #endif

    #ifndef VC_EXTRALEAN
    #define VC_EXTRALEAN  // 从 Windows 头中排除极少使用的资料
    #endif

    // 如果您必须使用下列所指定的平台之前的平台,则修改下面的定义。
    // 有关不同平台的相应值的最新信息,请参考 MSDN。
    #ifndef WINVER    // 允许使用特定于 Windows XP 或更高版本的功能。
    #define WINVER 0x0501  // 将此值更改为相应的值,以适用于 Windows 的其他版本。
    #endif

    #ifndef _WIN32_WINNT  
    // 允许使用特定于 Windows XP 或更高版本的功能。
    #define _WIN32_WINNT 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。
    #endif      

    #ifndef _WIN32_WINDOWS  
    // 允许使用特定于 Windows 98 或更高版本的功能。
    #define _WIN32_WINDOWS 0x0410 // 将它更改为适合 Windows Me 或更高版本的相应值。
    #endif

    #ifndef _WIN32_IE   
    // 允许使用特定于 IE 6.0 或更高版本的功能。
    #define _WIN32_IE 0x0600 // 将此值更改为相应的值,以适用于 IE 的其他版本。值。
    #endif

    #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将是显式的

    // 关闭 MFC 对某些常见但经常可放心忽略的警告消息的隐藏
    #define _AFX_ALL_WARNINGS

    #include 
    <afxwin.h>         // MFC 核心组件和标准组件
    #include <afxext.h>         // MFC 扩展


    #include 
    <afxdisp.h>        // MFC 自动化类

     

    #ifndef _AFX_NO_OLE_SUPPORT
    #include 
    <afxdtctl.h>  // MFC 对 Internet Explorer 4 公共控件的支持
    #endif
    #ifndef _AFX_NO_AFXCMN_SUPPORT
    #include 
    <afxcmn.h>   // MFC 对 Windows 公共控件的支持
    #endif // _AFX_NO_AFXCMN_SUPPORT


    #define __MYSQL_DEF__


    #include 
    "IVSS_Corelibrary.h"
    #pragma comment(lib,"vss_core.lib")

    #include 
    "IVSS_MysqlLibrary.h"
    #pragma comment(lib,"vss_mysql.lib")

    #include 
    "IVSS_GeoLibrary.h"
    #pragma comment(lib,"vss_geo.lib")

    #include 
    "IVSS_WsLibrary.h"
    #pragma comment(lib,"vss_ws.lib")

    #include 
    "IVSS_DmLibrary.h"
    #pragma comment(lib,"vss_dm.lib")

    #include 
    "IVSS_MapLibrary.h"
    #pragma comment(lib,"vss_map.lib")

    #include 
    "IVSS_GuiLibrary.h"
    #pragma comment(lib, "vss_gui.lib")

    #include 
    "IVSS_CarInfoLibrary.h"
    #pragma comment(lib,"vss_carinfo.lib")


    #ifdef _UNICODE
    #if defined _M_IX86
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_IA64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_X64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif
    #endif
     

    所以在MainFrm.cpp里不用

    #include "CtestDlg.h

    在编译的时候,先生成个部分的,

    最后编译整个方案。

    注:要使菜单不是灰色可点的,必须有与之相对应的函数,而且是在MainFram.cpp里面。而且还要

    BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
     ON_WM_CREATE()
     ON_COMMAND(ID_DB_CONNECT, &CMainFrame::OnDbConnect)
     ON_COMMAND(ID_MIF_IMPORT, &CMainFrame::OnMifImport)
     ON_COMMAND(ID_MAP_ZOOMIN, &CMainFrame::OnMapZoomin)
     ON_COMMAND(ID_MAP_ZOOMOUT, &CMainFrame::OnMapZoomout)
     ON_COMMAND(ID_MAP_SCROLL, &CMainFrame::OnMapScroll)
     ON_COMMAND(ID_MENU_GUI, &CMainFrame::OnMenuGui)
    END_MESSAGE_MAP()   

                    

    待续.....

    大部分转载 小部分自写
  • 相关阅读:
    POJ3693 Maximum repetition substring —— 后缀数组 重复次数最多的连续重复子串
    SPOJ
    POJ2774 Long Long Message —— 后缀数组 两字符串的最长公共子串
    POJ3261 Milk Patterns —— 后缀数组 出现k次且可重叠的最长子串
    POJ1743 Musical Theme —— 后缀数组 重复出现且不重叠的最长子串
    SPOJ
    AC自动机小结
    HDU3247 Resource Archiver —— AC自动机 + BFS最短路 + 状压DP
    POJ1625 Censored! —— AC自动机 + DP + 大数
    Herding
  • 原文地址:https://www.cnblogs.com/8586/p/1262673.html
Copyright © 2011-2022 走看看