Visual Studio Express 2013 错误
visual studios express 2013 errors
每次我制作新程序时都会在编译时出现此错误,以前我使用 2012 并且从未遇到过此问题但现在我每次都看到这个:
错误:
Error 2 error LNK2019: unresolved external symbol
"public: __cdecl lonework::App::App(void)" (??0App@lonework@@Q$AAA@XZ)
referenced in function "public: void __thiscall <lambda_b6bf150325cab1ba448790bcac21fea0>::operator()(class Windows::UI::Xaml::ApplicationInitializationCallbackParams ^)
const " (??R<lambda_b6bf150325cab1ba448790bcac21fea0>@@QBEXP$AAVApplicationInitializationCallbackParams@Xaml@UI@Windows@@@Z) C:\Users\Logan\Documents\Visual Studio
2013\Projects\lonework\lonework\lonework.Windows\XamlTypeInfo.g.obj lonework.Windows
当前正在处理的代码:
#include <pch.h>
#include <conio.h>
#include <stdio.h>
#include <Windows.h>
int yes();
int no();
int main()
{
char choice;
printf("Think of a number between one and ten\n");
Sleep(2000);
printf("Got it yet?\n Y/N ");
scanf_s("%c", &choice,1);
if (choice == 'y' || choice == 'Y')
{
printf("That's good");
yes();
}
else if (choice == 'n' || choice == 'N')
{
printf("Are you really that slow");
no();
}
getchar();
return 0;
}
int yes()
{
printf("Good for you, keep thinking about it...\n");
printf("Now think of another one, a different one\n Got it?\n I'll assume yes, sounds good.\n Now I'll tell you your number.\n");
printf("...\n");
Sleep(2000);
printf("...\n");
Sleep(2000);
printf("Ahem, 3 and 7");
return 0;
}
int no()
{
printf("Alright, back to the top.\n");
main();
return 0;
}
确保您 select 在创建新项目时是一个空项目或 C++ 控制台应用程序,而不是托管的 C++ 应用程序。
对于此代码,您不需要 include pch.h
,实际上 VS 没有附带这样的文件。
有两种方法可以更正此问题
1.) 在 VS 中点击
- 为您的项目命名
- 创建一个新的 C++ 项目,
- select
Win32 Application
,
- 取消选中
precompiled header
,
- 取消选中
Security Development Lifecycle (SDL) checks
,
- 点击完成
- 将创建一个新项目,并打开包含您的项目名称的 cpp 文件。
- 复制并粘贴此源代码并删除行
#include <pch.h>
现在你可以编译并运行它了。
或
2.)在包含此项目的 VS 解决方案中:
在解决方案资源管理器中右键单击项目名称
单击Properties
单击左侧的C/C++
选项卡
点击预编译headers
在 Precompiled headers
列的右侧,将 use
更改为 Not Using Precompiled Headers
点击应用
现在,如果您使用 Visual Studio 社区,您将拥有一个文件
名为“AssemblyInfo
”,右键单击该文件并删除该文件
select删除
现在删除第一行#include <pch.h>
编译并运行它
实际上你是在Visual C++中编译C代码,所以当你创建一个新项目时,你必须取消选中SDL检查(安全开发生命周期)
另一种简单的方法是创建一个新的 blank C++ project
,在解决方案资源管理器上右键单击 source files
。单击 add
,单击 new item
,select C++ File
,现在将代码粘贴到其中,如果您是,运行 it.This 是最简单的方法开始新项目。
每次我制作新程序时都会在编译时出现此错误,以前我使用 2012 并且从未遇到过此问题但现在我每次都看到这个:
错误:
Error 2 error LNK2019: unresolved external symbol
"public: __cdecl lonework::App::App(void)" (??0App@lonework@@Q$AAA@XZ)
referenced in function "public: void __thiscall <lambda_b6bf150325cab1ba448790bcac21fea0>::operator()(class Windows::UI::Xaml::ApplicationInitializationCallbackParams ^)
const " (??R<lambda_b6bf150325cab1ba448790bcac21fea0>@@QBEXP$AAVApplicationInitializationCallbackParams@Xaml@UI@Windows@@@Z) C:\Users\Logan\Documents\Visual Studio
2013\Projects\lonework\lonework\lonework.Windows\XamlTypeInfo.g.obj lonework.Windows
当前正在处理的代码:
#include <pch.h>
#include <conio.h>
#include <stdio.h>
#include <Windows.h>
int yes();
int no();
int main()
{
char choice;
printf("Think of a number between one and ten\n");
Sleep(2000);
printf("Got it yet?\n Y/N ");
scanf_s("%c", &choice,1);
if (choice == 'y' || choice == 'Y')
{
printf("That's good");
yes();
}
else if (choice == 'n' || choice == 'N')
{
printf("Are you really that slow");
no();
}
getchar();
return 0;
}
int yes()
{
printf("Good for you, keep thinking about it...\n");
printf("Now think of another one, a different one\n Got it?\n I'll assume yes, sounds good.\n Now I'll tell you your number.\n");
printf("...\n");
Sleep(2000);
printf("...\n");
Sleep(2000);
printf("Ahem, 3 and 7");
return 0;
}
int no()
{
printf("Alright, back to the top.\n");
main();
return 0;
}
确保您 select 在创建新项目时是一个空项目或 C++ 控制台应用程序,而不是托管的 C++ 应用程序。
对于此代码,您不需要 include pch.h
,实际上 VS 没有附带这样的文件。
有两种方法可以更正此问题
1.) 在 VS 中点击
- 为您的项目命名
- 创建一个新的 C++ 项目,
- select
Win32 Application
, - 取消选中
precompiled header
, - 取消选中
Security Development Lifecycle (SDL) checks
, - 点击完成
- 将创建一个新项目,并打开包含您的项目名称的 cpp 文件。
- 复制并粘贴此源代码并删除行
#include <pch.h>
现在你可以编译并运行它了。
或
2.)在包含此项目的 VS 解决方案中:
在解决方案资源管理器中右键单击项目名称
单击
Properties
单击左侧的C/C++
选项卡点击预编译headers
在
Precompiled headers
列的右侧,将use
更改为Not Using Precompiled Headers
点击应用
现在,如果您使用 Visual Studio 社区,您将拥有一个文件 名为“
AssemblyInfo
”,右键单击该文件并删除该文件 select删除现在删除第一行
#include <pch.h>
编译并运行它
实际上你是在Visual C++中编译C代码,所以当你创建一个新项目时,你必须取消选中SDL检查(安全开发生命周期)
另一种简单的方法是创建一个新的 blank C++ project
,在解决方案资源管理器上右键单击 source files
。单击 add
,单击 new item
,select C++ File
,现在将代码粘贴到其中,如果您是,运行 it.This 是最简单的方法开始新项目。