vs2017 -> vs2012

本文档详细介绍了将Visual Studio 2017上的工程项目迁移到Visual Studio 2012过程中遇到的问题及其解决方案。包括调整项目文件中的工具版本设置、正确包含头文件以避免编译错误、处理类成员非法初始化警告以及解决找不到函数定义等问题。

vs2017 上的工程,转移到 vs2012 上编译,有以下问题:

(0)报错 项目文件包含 ToolsVersion="15.0" 设置, 解决办法:工程属性-》常规-》平台工具集

(1)报错 Need to include strsafe.h after tchar.h,解决办法:在 stdafx.h 里最后加上 include <tchar.h>。

(2)提示不可在类中初始化。vs2017 中不提示也不执行的初始化,实际上非法。

(3)size() 函数找不到定义。

status_t AudioMTKGainController::ApplyMicGain(GAIN_MIC_MODE _micMode, GAIN_DEVICE _gainDevice, audio_mode_t _mode) { 1994 if (mSceneIndex < 0 || _micMode < 0 || _gainDevice < 0 1995 || mSpec->ulHwPgaIdxMax == 0) { 1996 ALOGE("%s(), invalid value, mSceneIndex %d, _micMode %d, mBand %d, mNetwork %d, _gainDevice %d, mSpec->ulHwPgaIdxMax %d return", 1997 __FUNCTION__, mSceneIndex, _micMode, mBand, mNetwork, _gainDevice, mSpec->ulHwPgaIdxMax); 1998 ASSERT(mSpec->ulHwPgaIdxMax != 0); 1999 return BAD_VALUE; 2000 } 2001 2002 GainTableMicUnit *micUnit = _micMode == GAIN_MIC_VOICE_CALL ? 2003 &mGainTable.nonSceneGain.speechMicGain[mBand][mNetwork][_gainDevice] : 2004 &mGainTable.sceneGain[mSceneIndex].micGain[_micMode][_gainDevice]; 2005 2006 /* total mic gain */ 2007 uint8_t index = mSpec->micIdxMax[_gainDevice] - micUnit->gain[MIC_IN_CH0]; 2008 mULTotalGain = UPLINK_GAIN_MAX - (index * UPLINK_ONEDB_STEP); 2009 2010 /* sw mic gain use ch0 */ 2011 mHwVolume.swAgc = isDmicDevice(_gainDevice) ? 2012 mSpec->swagcGainMapDmic[_gainDevice][index] : 2013 mSpec->swagcGainMap[_gainDevice][index]; 2014 if (isInVoiceCall(_mode)) { 2015 ApplyMdUlGain(mHwVolume.swAgc); 2016 } 2017 2018 if (_gainDevice == GAIN_DEVICE_USB || _gainDevice == GAIN_DEVICE_BT) 2019 return NO_ERROR; 2020 2021 /* hw mic gain of ADC */ 2022 for (int ch = 0; ch < TOTAL_MIC_IN_CHANNEL; ch++) { 2023 if (mSpec->ulPgaMixerName[ch].length() == 0) { 2024 continue; 2025 } 2026 index = mSpec->micIdxMax[_gainDevice] - micUnit->gain[ch]; 2027 uint8_t adcGain = (mSpec->ulPgaGainMapMax - mSpec->ulPgaGainMap[_gainDevice][index]) / mSpec->ulHwPgaIdxMax; 2028 setAdcPga(ch, adcGain); 2029 } 2030 #ifdef MTK_ULTRASOUND_PROXIMITY_SUPPORT 2031 AudioALSAUltrasoundOutOfCallController::getInstance()->updateAnalogGain(); 2032 #endif 2033 return NO_ERROR; 2034 } 2035 2036 uint32_t AudioMTKGainController::GetMicGain(void) { 2037 struct mixer_ctl *ctl; 2038 unsigned int num_values, i ; 2039 uint32_t index = 0; 2040 2041 ctl = mixer_get_ctl_by_name(mMixer, mSpec->ulPgaMixerName[MIC_IN_CH0].c_str()); 2042 num_values = mixer_ctl_get_num_values(ctl); 2043 for (i = 0; i < num_values; i++) { 2044 index = mixer_ctl_get_value(ctl, i); 2045 ALOGD("%s() i = %d index = %d ", __FUNCTION__, i, index); 2046 } 2047 return index; 2048 }
09-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值