首页 > 系统相关 >【01】安装与配置 C++/Visual Studio 22 | PDCurses on Windows

【01】安装与配置 C++/Visual Studio 22 | PDCurses on Windows

时间:2023-11-07 17:22:05浏览次数:39  
标签:文件 01 lib 22 Windows dll Release Debug pdcurses

参考:

https://www.cnblogs.com/yapingxin/p/15936414.html

实践、概括、优化:

  1. 编译生成
    1. 下载源码,解压后进入其中的wincon目录;
    2. 如果需要为多个Platform(x86和x64)以及多个分支(Debug和Release),多复制备份几个wincon文件夹,分别命名好;
    3. 编辑其中的Makefile.vc文件,在11行下新建一行,写入:
      PLATFORM = ...

      其中“...”替换为“X86”则编译32位相应的文件;替换为“X64”则编译64位相应的文件。

    4. 编译32位文件时,搜索并打开“x86 Native Tools Command Prompt for VS2022”;编译64位文件时,则使用“x64 Native Tools Command Prompt for VS2022”;
    5. 打开工具,输入以下命令:
      nmake -f Makefile.vc WIDE=Y UTF8=Y DLL=Y DEBUG=Y
      1. 添加“WIDE=Y”则产生支持宽字符的文件,否则不支持;
      2. 添加“UTF8=Y”则产生支持UTF-8的文件,否则不支持;
      3. 添加“DLL=Y”则产生相应的DLL文件,否则不产生;
      4. 添加"DEBUG=Y"则产生用于Debug的文件,否则产生用于Release分支的文件。
  2. 设置项目
    1. 按照结构储存获得的文件和源码根目录下的.H文件:
      ./
      |
      |-includes/
      |     curses/
      |         curses.h
      |         curspriv.h
      |         panel.h
      |-dll/
      |     Win32/
      |         Debug/
      |             pdcurses.dll
      |         Release/
      |             pdcurses.dll
      |     x64/
      |         Debug/
      |             pdcurses.dll
      |         Release/
      |             pdcurses.dll
      |-lib/
      |     Win32/
      |         Debug/
      |             pdcurses.lib
      |         Release/
      |             pdcurses.lib
      |     x64/
      |         Debug/
      |             pdcurses.lib
      |         Release/
      |             pdcurses.lib
      展开树状结构图

      建议将所有配置的库都统一存在一个固定的文件夹。之后安装的库也以同样的方式分门别类储存在相应文件夹下。

    2. 在Visual Studio 2022中创建一个新的C/C++控制台项目,打开项目属性,设置将“配置”设置为“所有配置”,“平台”设置为“所有平台”;
    3. VC++中,在“外部包含目录”中添加刚刚第1步中创建的include文件夹的路径;
      [ROOT]\include
      将“[ROOT]”替换为刚刚创建的文件夹根目录。
    4. 链接器-常规中,在“附加库目录”中添加刚刚第1步中创建的lib文件夹的路径;
      [ROOT]\lib\$(PLatform)\$(Configuration)

      将“[ROOT]”替换为刚刚创建的文件夹根目录,其中$(Platform)和$(Configuration)是宏,在编译时能自动切换X86/X64以及Debug/Release;

    5. 链接器-输入中,在“附加依赖项”中添加“pdcurses.lib”;
    6. 生成事件-生成后事件中,在命令中添加:
      copy "$(CPPCOMP)\dll\$(Platform)\$(Configuration)\pdcurses.dll" "$(TargetDir)"
    7. 在写.CPP代码时,先宏定义PDC_DLL_BUILD,然后再包含curses/curses.h。
  3. 测试
    1. 新建源代码文件,写入以下内容:
      #define PDC_DLL_BUILD
      #include <pdcurses/curses.h>
      #include <string>
      
      int main() {
      
          initscr();
          cbreak();
          noecho();
          curs_set(0);
      const char* message = "Press any key to get flash-banged!";
          const char* title = "Test PDCurses!";
      
          PDC_set_title(title);
      
          do {
              mvprintw(LINES / 2, (COLS - (int)strlen(message)) / 2, message);
              refresh();
      
              getchar();
              flash();
          } while (1);
      
          endwin();
      
          return 0;
      }

      编译通过后产生窗口,按任意键可使全屏闪动,则配置成功。

 

 

标签:文件,01,lib,22,Windows,dll,Release,Debug,pdcurses
From: https://www.cnblogs.com/NicholasFlare/p/17815462.html

相关文章

  • 集成电路(IC)MAX98050ENX、MAX22707AUB、MAX17543ATP、MAX40008ANT高效、低功耗器件产品
    1、MAX98050ENX音频编解码器是一款高性能、低功耗器件,集成了低延迟数字滤波器,用于无线耳戴式设备、头戴式设备和耳机。MAX98050具有一个单声道播放通道,带有一个5频段双四路均衡器和一个高效、全差分混合AB/D类耳机放大器。播放耳机放大器经过优化,可以实现最低输出噪声和静态功耗,同......
  • Windows编程之文件映射
    一、文件映射概述内存映射文件:文件映射可以用于将磁盘上的文件映射到内存中。这样,文件的内容可以直接从内存中读取或写入,而不必通过磁盘I/O进行数据交换。这对于处理大型文件或需要频繁读写的文件非常有用,可以提高性能。进程间通信:文件映射也可用于进程间通信(IPC),允许不同进......
  • Nftables整型溢出(CVE-2023-0179)
    前言Netfilter是一个用于Linux操作系统的网络数据包过滤框架,它提供了一种灵活的方式来管理网络数据包的流动。Netfilter允许系统管理员和开发人员控制数据包在Linux内核中的处理方式,以实现网络安全、网络地址转换(NetworkAddressTranslation,NAT)、数据包过滤等功能。漏洞成因漏......
  • windows10系统里学习swift环境搭建
    FU**C*DN!!公司里的windows10电脑,想抽空学学swift的语法,环境是visualstudiocode开发,使用coderunner直接运行出结果,环境是弄了半天,弄出来了。记录一下。原来以为coderunner是直接调用swift.exehelloword.swift就可以出结果,结果是想简单了,实际是需要使用swiftc编译成exe,......
  • vs2015编译glib2.5.0
    1、首先安装vs2015,以及下载一个glib2.50的源码包2、编译glib的问题①首先解决提示找不到libintl.h的问题需要编译安装libintl模块,可通过下载到glib仓库下载gettext-runtime-dev_0.18.1.1-1_win32包,里面提供了libintl.h和intl.lib②解决找不到pcre.h的问题到官网下载pcre安装......
  • 面试必刷TOP101:22、比较版本号
    题目题解publicintcompare(Stringversion1,Stringversion2){//用双指针遍历两个字符串//截取.之前的数字,//比较数字大小,返回1、-1;如果全部比较完都没有结果,返回0//关键在于处理前导0:加在前面数字乘10的后面010-->1000010-->10......
  • 为何越来越大!Windows最新镜像文件已达6.24 GB:三个原因导致
    大家常用的Windows系统有很多版本,比如常见的家庭版、教育版和专业版等等。但不管是哪个版本,最近几年的Windows10和Windows11系统变的越来越臃肿是无可置疑的,最新的Windows1123H2版本的镜像文件已经达到了6.24GB。而微软之前发布的Windows95大小只有30MB,比现如今的很多网页......
  • 2011年春季-C语言课程设计-指导书
    C语言课程设计指导书注:请各班学习委员按学号顺序对本班同学进行分组(不允许同学自行组合),把后面所列的题目分割开交给各组保留,并组织同学按时上机。1.总体要求1)       按照名单上的顺序分配PC,按照学号的顺序每3人一组(如果剩余2人,则选择任务11;如果剩余1人,则分散到前面的组中......
  • 2011年春季-C语言课程设计-报告格式
    以下内容根据教务处最新要求制定,请严格遵守。附件:课程设计报告的内容及其文本格式1、课程设计报告要求用16k纸排版,单面打印,并装订成册,内容包括:除封面外,其他每页的页脚需要有页码。①封面(包括题目、院系、专业班级、学生学号、学生姓名、指导教师姓名、职称、起止时间等)②设计任务及......
  • windows/win10/win11 关闭端口 跑的服务
    起因关闭了编辑器访问服务接口正常显示解决这里的端口为5000C:\Users\43701>netstat-aon|findstr"5000"TCP127.0.0.1:50000.0.0.0:0LISTENING11172TCP127.0.0.1:5390127.0.0.1:5000TIME_WAIT0C:\U......