小编Sol*_*lti的帖子

使用VS2013但仍然无法找到"用于v120的构建工具(Platform Toolset ='v120')." 错误

我在Windows 7-64计算机上使用Visual Studio 2013,但仍然出现以下错误.我在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild下的reg键设置完全相同,我的同事可以编译解决方案.我们使用相同的VS2013.

我的日志显示"C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5)",但不是V120,这很奇怪.有谁知道为什么?

感谢任何线索和帮助,被困了几天.

1> ------ Build build:Project:MyProject01,Configuration:Debug Win32 ------
2> ------ Build started:Project:MyProject02,Configuration:Debug Win32 ------
1> C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5):错误MSB8020:v120的构建工具(Platform Toolset ='v120 ')无法找到.要使用v120构建工具进行构建,请单击"项目"菜单或右键单击解决方案,然后选择"更新VC++项目...".使用v120构建工具安装v120进行构建.
2> C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5):错误MSB8020:v120的构建工具(Platform Toolset ='v120 ')无法找到.要使用v120构建工具进行构建,请单击"项目"菜单或右键单击解决方案,然后选择"更新VC++项目...".使用v120构建工具安装v120进行构建.
3> ------ Build build:Project:MyProject03,Configuration:Debug Win32 ------
3> C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft. Cpp.Platform.targets(44,5):错误MSB8020:找不到v120(Platform Toolset ='v120')的构建工具.要使用v120构建工具进行构建,请单击"项目"菜单或右键单击解决方案,然后选择"更新VC++项目...".使用v120构建工具安装v120进行构建.
4> ------ Build build:Project:MyProject04,Configuration:Debug Win32 ------
4> C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft. Cpp.Platform.targets(44,5):错误MSB8020:找不到v120(Platform Toolset ='v120')的构建工具.要使用v120构建工具进行构建,请单击"项目"菜单或右键单击解决方案,然后选择"更新VC++项目...".使用v120构建工具安装v120进行构建.
5> ------ Build build:项目:MyProject05,配置:调试x86 ------
5> CSC:错误CS0006:元数据文件'D:_Vault\Workspaces\MyProject05_Parser\Debug\MyProject05Parser.dll'可能找不到 …

msbuild visual-studio visual-studio-2013

3
推荐指数
1
解决办法
1万
查看次数

Google Test:错误LNK2019:Visual Studio 2013中未解析的外部符号

我正试图通过Google Test框架+ Visual Studio 2013进行我的第一次单元测试.但是我遇到了以下错误并且无法理解原因.

1> ------ Build build:Project:FirstGoogleTest,Configuration:Debug Win32 ------
2> ------ Build build:Project:googleTest,Configuration:Debug Win32 ------
1> MyMultiplier.cpp
2> gtest_main.cc
1> main.cpp
1>生成代码...
2> gtest-all.cc
1> FirstGoogleTest.vcxproj - > D:_Vault\Workspaces\UnitTestLearning\FirstGoogleTest\Debug\FirstGoogleTest. exe
2>生成代码...
2> googleTest.vcxproj - > D:_Vault\Workspaces\UnitTestLearning\FirstGoogleTest\Debug\googleTest.lib
3> ------ Build build:Project:MyMultiplier_UnitLevelTest,Configuration:Debug Win32 - -----
3> MyMultiplier_UnitLevelTest.cpp
3> MyMultiplier_UnitLevelTest.obj:错误LNK2019:未解析的外部符号"public:unsigned int __thiscall
MyMultiplier :: multiply(unsigned int,unsigned int)"(?multiply @ MyMultiplier @@ QAEIII @ Z )在函数"private:virtual void __thiscall MyMultiplier_multiplyNormalSmallValues_Test :: TestBody(void)"中引用(?TestBody @MyMultiplier_multiplyNormalSmallValues_Test @@ EAEXXZ)
3> D:_Vault\Wo rkspaces\UnitTestLearning\FirstGoogleTest\Debug\MyMultiplier_UnitLevelTest.exe:致命错误LNK1120:1未解析的外部因素
==========构建:2成功,1失败,0最新,0跳过==== ======

解决方案结构如下:https:
//www.dropbox.com/s/0cu8eqr7pz3ajaz/Untitled.png …

c++ googletest unresolved-external visual-studio-2013

3
推荐指数
1
解决办法
1万
查看次数

批处理:确定从文件读取的行中是否存在子字符串

我是批量新手.我的目的是编写一个读取文件中每一行的批处理,并依赖于读取的行执行一些不同的任务.这是一些样本

@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=" %%a in (test.txt) do ( 
  echo %%a
  *if %%a contains abc do (other tasks)*           
)
Run Code Online (Sandbox Code Playgroud)

另外,我可以批量检测"换行符"吗?如果test.txt看起来像:

123
345
abckdla

abd
abd
abc

test
Run Code Online (Sandbox Code Playgroud)

当for循环在test.txt的row4和row8时,我可以打印"这是一个新行吗?"

非常感谢你的时间.

string file-io substring batch-file

1
推荐指数
1
解决办法
6406
查看次数

通过引用/指针返回静态局部变量

我很困惑为什么静态unordered_map被清除如果我通过引用得到它但不是如果我通过指针得到它...(你可以在这里执行代码:http://cpp.sh/4ondg)

是因为当引用超出范围时,它的析构函数会被调用吗?如果是这样,那么第二个获取功能会得到什么?

class MyTestClass {
    public:
    static std::unordered_map<int, int>& getMap() {
        static std::unordered_map<int, int> map;
        return map;
    }
    static std::unordered_map<int, int>* getMapByPointer() {
        static std::unordered_map<int, int> map;
        return &map;
    }

};


int main()
{
    // By reference
    {
        auto theMap = MyTestClass::getMap();
        std::cout << theMap.size() << std::endl;
        theMap[5] = 3;
        std::cout << theMap.size() << std::endl;
    }
    {
        auto theMap = MyTestClass::getMap();
        std::cout << theMap.size() << std::endl;
        theMap[6] = 4;
        std::cout << theMap.size() << std::endl;
    }

    // …
Run Code Online (Sandbox Code Playgroud)

c++ unordered-map pass-by-reference

1
推荐指数
1
解决办法
476
查看次数