vs编译器设置

因为长期进行C++编码,忽视了VS中文件编译器的设置问题,这两天要使用到之前下载的C编码的工程,预想打算改为C++编译。遇到问题

总结如下。归根结底还是对vs使用的不熟练。


1.在VS2008中 对于某个代码文件,是以C++编译器编译,还是以C编译器编译
  与文件本身的后缀是.cpp 还是.c无关。主要按优先级依次取决于以下两项配置
  一是工程本身的编译器设置,见工程属性 C/C++ 高级 编译为/TC或/TP。此时命令行中会出现/TC或/TP。
  二是选中某个特定的文件,打开其属性页,C/C++ 高级 编译为/TC或/TP。
 

2. C++编译器的类型检查比C编译器严格。
   
  因为C编译器的类型检查不严格,所以需多C编码都没有强制类型转换。这样就造成在用C++编译器编译这些代码时
  经常出现的错误就是不能够做类型转换。

  解决的方法: 一是加上强制类型转换, 二是改变单个文件的编译配置,在工程中选中某个特定的文件,
  打开其属性页,C/C++ 高级 编译为/TC。,就是将这个文件的编译方式改为C。
  工程文件中就会多出FileConfiguration配置。具体如下:

<File
  RelativePath="../test.cpp"
  <FileConfiguration
 Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
       >
 <Tool
       Name="VCCLCompilerTool"
       CompileAs="1" //说明这个文件是以C编译器编译的。
 />
  </FileConfiguration>
</File>

这样就会对单个文件以C方式编译了,无需改动代码。

### MATLAB中设置和配置Visual Studio编译器 #### 设置MATLAB识别Visual Studio编译器 为了使MATLAB能够成功调用并使用指定版本的Visual Studio编译器,在某些情况下特别是当使用的MATLAB版本较旧而Visual Studio版本更新时,可能需要手动干预来完成这一过程[^2]。 对于特定组合如Matlab 2023b搭配Visual Studio 2022但仍希望采用Visual Studio 2019 x86编译器的情况,确保安装了适当的支持包或补丁以兼容所选的编译器版本[^1]。 如果遇到MATLAB无法自动检测到更高版本的Visual Studio编译器的情形,则可以通过下载适用于目标Visual Studio版本的配置文件来进行修正。这通常涉及获取由社区或其他官方渠道提供的预定义配置脚本,并将其放置于恰当位置以便MATLAB读取。 另外一种方法是在`C:\Users\(用户名)\AppData\Roaming\MathWorks\MATLAB\(MATLAB版本)`路径下的`mexopts.bat`文件内直接编辑相关参数,指明所需编译工具链的具体位置以及必要的链接库地址等信息。这种方法特别适合那些试图将非常规组合(例如老版MATLAB配新版VS)集成在一起工作的开发者们[^3]。 针对更复杂的场景,比如实现M文件与C/C++源码之间的交互开发,除了基本的环境变量设定外,还需注意调整项目属性中的附加依赖项、包含路径以及其他构建自定义规则等内容,从而保障整个工程可以顺利编译运行[^4]。 最后,考虑到不同操作系统平台上的差异性操作指南,对于Windows环境下基于MinGW-w64或者Microsoft SDKs的选择也应给予关注。特别是在处理跨平台移植问题或是利用第三方库资源的情况下,合理规划这些外部接口能极大程度上简化后续的工作流程[^5]。 ```matlab % 测试当前已注册的可用编译器列表 mex -setup C++ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值