Visual Studio问题汇总

2023-11-15

合并两个vs解决方案:

不能

下载别人的vs程序易出现sdk不符合等问题  项目右键属性 目标版本平台,  平台工具集 都改为自己已有的就行了,还要注意配置和平台对应哦

1.问题:

“Callback”:模板 从属名称的使用必须以模板为前缀

解决:项目右键->属性-> C/C++ ->语言->符合模式 –>

原因:编译器本来应该调用callback模板函数,但是你的代码中又使用了作为函数参数的callback类型,这样在调用callback的时候编译器不知道使用callback的哪个具体模板了。Ss

2.问题:不在开发者模式

解决:打开电脑的windows设置 ->更新与安全->开发者选项->开发人员模式->是

3. 问题一:无法解析的外部符号 _WinMain@16,该符号在函数“int_cdecl invoke_main(void)”(?invoke_main@@YAHXZ)中被引用

解决:1)如果是windows应用程序:

项目右键->属性-> C/C++ ->预处理器->预处理器定义->删除_CONSOLE,添加_WINDOWS

项目右键->属性-> 链接器 ->系统->子系统->设置为窗口 (/SUBSYSTEM:WINDOWS)

  1. 如果是控制台程序:

项目右键->属性-> C/C++ ->预处理器->预处理器定义->删除_WINDOWS,添加_CONSOLE

项目右键->属性-> 链接器 ->系统->子系统->设置为控制台 (/SUBSYSTEM:CONSOLE)

原因:入口函数指定不当,即新建项目时windows应用程序和控制台应用程序选择与实际执行代码不符

问题二:error LNK2019: 无法解析的外部符号 "public: __cdeclXX(void)" (??0C@@QEAA@XZ),该符号在函数 main 中被引用

解决1:在文件里删除此方法(若不需要此方法)

解决2:属性里缺少对应的lib文件。

问题三:opengl文件

1>PT.obj : error LNK2019: 无法解析的外部符号 _auxSolidSphere@8,该符号在函数 _main 中被引用

1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitWindowA@4,该符号在函数 _main 中被引用

1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitPosition@16,该符号在函数 _main 中被引用

  1. PT.obj : error LNK2019: 无法解析的外部符号 _auxInitDisplayMode@4,该符号在函数 _main 中被引用

解决:项目——项目属性——配置属性——链接器——输入——附加依赖项,添加

glut32.lib

Opengl32.lib

Glu32.lib

glaux.lib

glfw3.lib

glew32s.lib

freeglut.lib

glut.lib

问题四:

无法解析的外部符号 _glfwInit,该符号在函数 _main 中被引用

解决方法就是在程序的开头加入下面这一行:

#pragma comment(lib,"glfw.lib");

4. 深度清理C盘空间

Windows -> 设置->系统->存储->C盘

5. 编译提示警告被视为错误,没有生成object文件

项目->属性->c/c++->常规->将警告视为错误->否,注意是否涉及多个项目的属性

原因:该文件的代码页为英文,而我们系统中的代码页为中文

6.编译后显示多个不同的错误,有时解决一个错误,其他错误会消失

7.编译成功,调试时提示:执行位置 0x0000000000000000 时发生访问冲突或者说是有未经处理的异常

项目->属性->链接器->系统->堆栈保留大小->16000000

原因:代码本身没有错误,内存写入错误,开发环境的默认配置不满足此代码的要求

8.SDK版本问题,版本不符合

在visual studio安装包即 笔记本左下角“开始”找到visual studio staller 点击 修改 页面右边选择sdk版本进行安装,然后对项目右键重定向项目,选择正确的sdk版本即可。

9.问题:D:\xxxx\xxxx.vcxproj : error  : 无法读取项目文件“xxxx.csproj”。

      D:\xxxx\xxxx.vcxproj(  ): 未找到导入的项目“C:…..\xxxx.targets”。请确认  import  声明中的路径正确,且磁盘上存在该文件。

解决:1)这时用记事本打开xxxx.vcxproj

<Import Project=....... />

  <ImportGroup Label="ExtensionSettings">

  </ImportGroup>

  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">1234

找到`诸如这样的 Import 标签对 ,和你未导入的项目“C:…..\xxxx.targets”,把“C:…..\xxxx.targets”所在的 Import 行删除就可以了。注意,可能有多个,要全部删除。最后重新加载项目即可。

提醒一下,为了以后代码的可移植性,尽量少使用属性表,或者把属性表复制到工程内。

2)版本升级   参考:升级CUDA

升级版本时也会出现以上提示,同样用记事本打开xxxx.vcxproj,找到软件所在的Import标签对,修改版本号就可以了。

如:

<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 5.5.props" />

修改CUDA的版本号即可

10.问题:The CUDA Toolkit v10.0 directory '' does not exist.  Please verify the CUDA Toolkit is installed properly or define the CudaToolkitDir property to

 resolve this error.

解决:项目属性-> CUDA C/C++ -> CUDA Toolkit Custom Dir 中填写自己的CUDA安装路径

11.问题:各种工具栏在 菜单的 工具-> 自定义上设置

12.问题:路径XXXXXXXX的访问被拒绝

解决:右键打开报错路径的的菜单,选择属性;在属性窗体中切换到安全选项框;在安全选项框中,点击编辑,进入权限窗体;在用户和组中选择“IIS_USRS”,赋予其完全控制权限。

13.问题:该文件包含不能在当前代码页(936)中表示的字符。

解决:点击错误提示,打开报错的文件。点文件”–>“高级保存 根据错误提示,选择正确的格式保存。

14

error: more than one instance of overloaded function "__hadd" matches the argument list

解决方案

  修改代码

  EIGEN_STRONG_INLINE __device__ half operator + (const half& a, const half& b) {

+ #if defined(EIGEN_CUDACC_VER) && EIGEN_CUDACC_VER >= 90000

+   return __hadd(::__half(a), ::__half(b));

+ #else

    return __hadd(a, b);

+ #endif

  }

  EIGEN_STRONG_INLINE __device__ half operator * (const half& a, const half& b) {

    return __hmul(a, b);

    return __hsub(a, b);

  }

  EIGEN_STRONG_INLINE __device__ half operator / (const half& a, const half& b) {

+ #if defined(EIGEN_CUDACC_VER) && EIGEN_CUDACC_VER >= 90000

+   return __hdiv(a, b);

+ #else

    float num = __half2float(a);

    float denom = __half2float(b);

    return __float2half(num / denom);

+ #endif

  }

  EIGEN_STRONG_INLINE __device__ half operator - (const half& a) {

    return __hneg(a);

15.无法打开输入文件   xxx.lib

解决:方法1. 在项目属性,链接器,常规,附加库目录 应该是项目的lib地址和自己放置的绝对地址不吻合,找到项目的lib文件并修改为本机的地址,并在项目属性,链接器,输入,附加依赖项中加入自己的lib文件名称(注意在debug模式还是release模式)

(不推荐)方法2.C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64    添加此lib文件,一般此文件在项目文件目录lib/release中,自己在网上找的lib文件易不符合此项目而报错。  

16.注释快捷键

打注释:Ctrl+k,Ctrl+c

取消注释 Ctrl+k,Ctrl+u

17.程序缺少*.dll文件

网上找到此dll文件,拷贝进项目生成的.exe文件目录下。

18.无法打开.lib, 或者其他  .h文件(cuda相关的)

解决一:或许是配置属性的问题:

VC++目录->包含目录: (安装cuda时已经选择了sample文件就不用写第三个目录了。)

VC++目录->库目录:

解决二:

注意这个地方一般是release x64

20. LNK1112 模块计算机类型“x64”与目标计算机类型“X86”冲突

解决方法:运行CMake,点 configure,在弹出的对话框内选择 Visual Studio  2015,这个地方需要注意,第二行选win64,完成后选择“Generate”   

21. debug模式和release模式有点区别

Release 下无法定位程序输入点于动态链接库xxx.dll

将dll文件移动到release目录下(和exe文件相同位置)  不一定能成功

因为它有 相互依赖的dll   需要把多个dll文件都放到这个目录下才可以成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio问题汇总 的相关文章

随机推荐

  • Android |双锁单例模式中使用Context如何避免内存泄露的 Warning 提示

    文章目录 问题 解决方法 拓展 问题 在Android开发中 经常会将工具类以单例模式的方法实现 而工具类中又总不可避免的用到 Context 例如 public class MySingleton private static volat
  • 博客积分规则

    博客积分是CSDN对用户努力的认可和奖励 也是衡量博客水平的重要标准 博客等级也将由博客积分唯一决定 积分规则具体如下 1 每发布一篇原创或者翻译文章 可获得10分 2 每发布一篇转载文章 可获得2分 3 博主的文章每被评论一次 可获得1分
  • 软件测试/测试开发

    公众号搜索 TestingStudio 霍格沃兹的干货都很硬核 测试管理平台是贯穿测试整个生命周期的工具集合 它主要解决的是测试过程中团队协作的问题 在整个测试过程中 需要对测试用例 Bug 代码 持续集成等等进行管理 下面分别从这四个方面
  • C/C++编译器配置——MinGW下载安装

    一 前言 由于重装Win11系统 所有配置环境需要重装 对于C C 编译器MinGW配置做一个简单记录 VS code等软件只提供编辑器 不提供编译器 因此windows系统上的C C 编译器需要通过安装MinGW实现 二 安装过程 在Mi
  • 怎么开发企业微信小程序?

    企业微信小程序是一种基于微信平台的小程序 主要用于企业内部管理和沟通 开发企业微信小程序可以帮助企业提高工作效率和协同能力 同时也能够提升企业形象和品牌价值 本文将介绍如何使用小程序制作工具来开发企业微信小程序 一 了解企业微信小程序的优势
  • DevOps系列之 —— 持续开发与集成(五)华为云 DevCloud 代码托管服务及 CloudIDE

    DevOps系列之 DevOps概览 一 软件产业和交付模式发展趋势 DevOps系列之 DevOps概览 二 新型软件技术及交付模式 DevOps系列之 DevOps概览 三 DevCloud HE2E DevOps 框架及其主要服务 D
  • Linux基本指令(ls、pwd、cd、touch、mkdir、rmdir、rm、man、cp、mv、cat、tac、more、less)

    在Linux中文件后缀与文件类型无关 一 ls 功能 对于目录 该命令列出该目录下的所有子目录与文件 对于文件 将列出文件名以及其他信息 1 ls a 列出目录下的所有文件 包括以 开头的隐含文件 目录 ls 与ls a 以 开头是隐藏文件
  • could not create the java virtual machine

    今天早上突然打开不了myeclipse eclipse 每次启动都报错 could not create the java virtual machine 开始以为是java虚拟机出了问题 于是卸了重装还是出现如此问题 接着到网上查找相关资
  • 酒店评论情感分析,亲妈级教程

    酒店评论情感分析 采集与分词篇 开篇吐槽一下下 类似携程这种生活类网站 还有电商类网站 不是驻守被爬的城墙内就是在反爬的道路上行走 不断的更新加密 批量化的采集不断破解并升级程式 并在网络之上布施教程 小白们熬夜拼命的学习 做一个流水线般的
  • Linux Shell函数返回值

    Shell函数返回值 一般有3种方式 return argv echo 1 return 语句 shell函数的返回值 可以和其他语言的返回值一样 通过return语句返回 示例 bin bash function mytest echo
  • PyTorch模型导出到ONNX文件示例(LeNet-5)

    从PyTorch模型导出到ONNX文件是通过调用PyTorch的torch onnx export接口实现 torch onnx export 如果pytorch模型既不是torch jit ScriptModule也不是orch jit
  • shiro反序列化漏洞Shiro-550/Shiro-721反序列化

    文章目录 shiro反序列化漏洞 Shiro 550反序列化漏洞 CVE 2016 4437 漏洞简介 漏洞原理 Shiro 721反序列化漏洞 CVE 2019 12422 Shiro550和Shiro721的区别是什么 漏洞指纹 漏洞介
  • postman-常见问题解决方案记录

    1 Response body Containing string为中文 Response body Containing string 为中文时 转换为unicode编码 并添加转义符 2 get方式与post请求使用环境变量 post方
  • ctfshow web2

    ctfshow web2 writeup 这是本人第一次写blog 有不好的地方希望大家多多指出 从此开始踏上了网安的不归路 成为了一只web狗 从题目可以看出这是一道sql注入的题 示例 pandas 是基于NumPy 的一种工具 该工具
  • 看懂Oracle执行计划

    略有所知 也来总结一下自己最近所学 不定时更新ing 一 什么是Oracle执行计划 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二 怎样查看Oracle执行计划 PLSQL远程连接的公司数据库 所以以PLSQL为例
  • Webots安装和教程推荐

    安装与推荐 软件介绍 Webots是一款专业的物理仿真软件 被广泛运用在机器人 智能车仿真实践控制算法中 2018年12月该软件宣布开源 Webots最初采用C进行编程 至今已经实现提供C C Python Java Matlab接口的AP
  • JS setAttribute()方法:设置元素的属性值

    在 JavaScript 中 使用元素的 setAttribute 方法可以设置元素的属性值 用法如下 setAttribute name value 参数 name 和 value 分别表示属性名称和属性值 属性名和属性值必须以字符串的形
  • 用户政策和隐私协议

    杭州宜果送信息科技有限公司 以下简称 宜果送 重视用户的隐私 宜果送隐私政策 更新日期 2022年1月18日 提示条款 您的信任对我们非常重要 我们深知个人信息对您的重要性 我们将按法律法规要求 采取相应安全保护措施 尽力保护您的个人信息安
  • 隔离式栅极驱动器输入级对电机驱动应用的影响

    介绍 在电机驱动应用中为功率级选择隔离式栅极驱动器时 您有多种选择 栅极驱动器可简单可复杂 具有集成米勒箝位 分离输出或绝缘栅双极晶体管 IGBT 发射极的欠压 UVLO 锁定参考等功能 输入级有两个选项 电压输入级或电流输入级 在本文中
  • Visual Studio问题汇总

    合并两个vs解决方案 不能 下载别人的vs程序易出现sdk不符合等问题 项目右键属性 目标版本平台 平台工具集 都改为自己已有的就行了 还要注意配置和平台对应哦 1 问题 Callback 模板 从属名称的使用必须以模板为前缀 解决 项目右