• C++(36)-低版本升级到VS2019项目时遇到的问题


    1."const char *" 类型的实参与 “char *” 类型的形参不兼容错误的解决方法

    解决方法:(3)

    1.在VS2019中依次点击项目->属性->C/C+±>语言->符合模式,将原来的“是”改为“否”即可。

    2.在声明变量 char* 时改成 const char *即可。
    3.

    1. //1.const char* ->char *
    2. const char *pcc = "goodidea";
    3. char *pc = new char[strlen(pcc)+1];
    4. strcpy(pc, pcc);
    5. //2.const char* ->char *
    6. const char* aa = "this is a const string.";
    7. char* bb = const_cast<char*>(aa);
    8. //3.char* ->const char*
    9. const char* pcc;
    10. char* pc="abcde";
    11. pcc=pc;

    2.“timespec”:“struct”类型重定义

    C++ pthread pthread.h 中的 timespec 和time.h 中的 结构定义重复了 ,同时两个头文件中的条件编译条件不同,所以造成结构重复定义,简单快速见效的解决方法就是注释pthread.h 头文件中的struct timespce 定义.

    3.C1189    #error:  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] (编译源文件 src\HX101.cxx)    law    C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Tools\MSVC\14.29.30133\atlmfc\include\afx.h    24    


    在项目属性页中 选择“常规” 在“MFC的使用”中将“使用标准Windows库”改为“在共享DLL中使用MFC”。

    4.C2664    “int M“const char [15]”转换为“LPCWSTR”     
           强制转换

    5.E0167    "const  char *" 类型的实参与 "const char *" 类型的形参不兼容
    TEXT("TEXT")

    6.C2664   "char []" 转换为 "LPCWSTR"       
    强制转换
    (LPCWSTR)


    7.从“WCHAR [260]”转换为“const char *”    



    8.引用dll报错:error C2491-不允许 dllimport 静态数据成员 的定义
     

    // C2491.cpp
    // compile with: /c
    // function definition
    void __declspec(dllimport) funcB() {}   // C2491

    // function declaration
    void __declspec(dllimport) funcB();   // OK


    9.d8016 /ZI和/Gy-命令行不兼容


    10. MSB6011    传递给 Microsoft.Build.CPPTasks.Link 任务的参数无效。    


    11.C2039 _file 不是_iobuf的成员
       获取文件长度:

      nLen = _filelength(fSqlFile->_file);
       nLen = ftell(fSqlFile);

    12.无法解析外部符号  _inet_addr@4
    #pragma comment(lib,"ws2_32.lib")


    13.LINK2001 无法解析的外部符号:"public: static struct QMetaObject const   QwtPlot::staticMetaObject" (?staticMetaObject@QwtPlot@@2UQMetaObject@@B)

    14.设置中“不同选项” 这个要去掉,不然会造成工程设置后无法保存已做的设置
     

    15.元素 具有无效值“是(/DEBUG)”

     

     16:WId与HWND 的转换
    HWND hwnd = (HWND)widget->winId();

    17错误C2664:'int wsprintfW(LPWSTR,LPCWSTR,...)':无法将参数1从'char [15]'转换为'LPWSTR'

     18.无法连接_mysql_num_rows@4
        如19在属性页->链接器->输入中 添加libmysql.lib

    19.LNk2019无法解析的外部符号
      1.h文件

          h文件设置: C/C++ ->常规->附加包含目录:

      2.lib文件
       lib导入设置:  链接器->输入->附加依赖项:

    给lib一个搜索路径: 链接器->常规->附加库目录:

      3.dll文件 

    20.D8036 不允许有多个源文件
    c/C++->输出文件:对象文件名只能是目录,
    C/C++ ->输出文件:
    ASM          $(SolutionDir)BaseEnv\temp\$(ProjectName)\
    对象文件名 $(SolutionDir)BaseEnv\temp\$(ProjectName)\
    程序数据库文件名$(SolutionDir)BaseEnv\temp\$(ProjectName)\

     21 C1189

     1.工程-》属性-》C/C++-》代码生成-》运行时库:修改成: 多线程调试(/MTd); (release版本也修改成 多线程(/MT)

    2.工程-》属性-》常规-》MFC的使用:修改为:在静态库中使用 MFC
    3.C/C++-》预处理 _AFXDLL

     

  • 相关阅读:
    Databend 开源周报第 110 期
    JVM:(五)运行时数据区之虚拟机栈
    java计算机毕业设计springboot+vue中国古诗词网站(源码+系统+mysql数据库+Lw文档)
    122. 买卖股票的最佳时机 II
    java项目-第143期ssm母婴用品网站_java毕业设计_计算机毕业设计
    Vue内置指令,自定义指令
    ChainForge:衡量Prompt性能和模型稳健性的GUI工具包
    旧华硕电脑开机非常慢 电脑开机黑屏很久才显示品牌logo导致整体开机速度非常的慢怎么办
    松江主机联网方案
    详解cv2.copyMakeBorder函数【OpenCV图像边界填充Python版本】
  • 原文地址:https://blog.csdn.net/aggie4628/article/details/126007885