![](/img/trans.png)
[英]Unresolved External between static library projects in visual studio
[英]Visual Studio 2019 problem with static library projects
我正在尝试构建一个包含c ++控制台应用程序和c ++静态库的项目。 我只为两者创建一个默认项目。 Visual Studio创建一个默认的示例函数。 我也在头文件中包含该函数,以便将其导出。 然后我从控制台项目添加对库项目的引用。 然后我尝试构建项目,它没有说库中有一个未定义的函数引用。 但是,如果我在控制台项目中包含生成的.lib文件,它就可以工作。 我已经在Visual Studio中使用了静态库数千次,但不知道现在发生了什么。
我正在使用Visual Studio社区:
Microsoft Visual Studio社区2019版本16.1.3 VisualStudio.16.Release / 16.1.3 + 29009.5 Microsoft .NET Framework版本4.7.03190
已安装版本:社区
Visual C ++ 2019 00435-60000-00000-AA098 Microsoft Visual C ++ 2019
Visual Studio包的应用程序洞察工具9.1.00429.1 Visual Studio的应用程序洞察工具
ASP.NET和Web工具2019 16.1.429.50124 ASP.NET和Web工具2019
Azure App Service Tools v3.0.0 16.1.429.50124 Azure App Service Tools v3.0.0
C#Tools 3.1.1-beta4-19281-06 + 58a4b1e79aea28115e66b06f850c83a3f1fcb6d3 IDE中使用的C#组件。 根据您的项目类型和设置,可能会使用不同版本的编译器。
通用Azure工具1.10提供Azure移动服务和Microsoft Azure工具使用的公共服务。
Cookiecutter 16.1.19129.1提供了以cookiecutter格式查找,实例化和自定义模板的工具。
Microsoft Azure工具2.9 Microsoft Azure工具Microsoft Visual Studio 0x10 - v2.9.20419.2
Microsoft JVM Debugger 1.0支持将Visual Studio调试器连接到JDWP兼容的Java虚拟机
Microsoft MI-Based Debugger 1.0支持将Visual Studio连接到MI兼容的调试器
Microsoft Visual C ++ Wizards 1.0 Microsoft Visual C ++向导
Microsoft Visual Studio VC包1.0 Microsoft Visual Studio VC包
NuGet Package Manager 5.1.0 Visual Studio中的NuGet包管理器。 有关NuGet的更多信息,请访问https://docs.nuget.org/
ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio扩展详细信息
Python 16.1.19129.1为Python开发人员提供IntelliSense,项目,模板,调试,交互式窗口和其他支持。
Python - Conda支持16.1.19129.1 Conda对Python项目的支持。
Python - Django支持16.1.19129.1为Django Web框架提供模板和集成。
Python - IronPython支持16.1.19129.1为基于IronPython的项目提供模板和集成。
Python - 性能分析支持16.1.19129.1对Python项目的性能分析。
Python - VC项目支持16.1.19129.1支持在启用Python调试的情况下启动C ++项目。
ResourcePackage Extension 1.0 ResourcePackage Visual Studio扩展详细信息
Boost.Test 1.0的测试适配器使用为Boost.Test编写的单元测试启用Visual Studio的测试工具。 扩展安装目录中提供了使用条款和第三方声明。
适用于Google Test 1.0的测试适配器通过为Google Test编写的单元测试启用Visual Studio的测试工具。 扩展安装目录中提供了使用条款和第三方声明。
TypeScript工具16.0.10506.2004适用于Microsoft Visual Studio的TypeScript工具
Visual Basic工具3.1.1-beta4-19281-06 + 58a4b1e79aea28115e66b06f850c83a3f1fcb6d3 IDE中使用的Visual Basic组件。 根据您的项目类型和设置,可能会使用不同版本的编译器。
用于Linux开发的Visual C ++ 1.0.9.28917用于Linux开发的Visual C ++
Visual Studio代码调试适配器主机包1.0用于在Visual Studio中承载Visual Studio代码调试适配器的Interop层
用于CMake的Visual Studio工具1.0用于CMake的Visual Studio工具
用于CMake的Visual Studio工具1.0用于CMake的Visual Studio工具
#include <iostream>
#include "StaticLibTest\\framework.h"
int main()
{
std::cout << "Hello World!\n";
fnStaticLibTest();
}
#pragma once
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
void fnStaticLibTest();
#include "pch.h"
#include "framework.h"
// TODO: This is an example of a library function
void fnStaticLibTest()
{
}
1> ConsoleApplication1.obj:错误LNK2019:函数_main中引用的未解析的外部符号“void __cdecl fnStaticLibTest(void)”(?fnStaticLibTest @@ YAXXZ)
发现了问题。 我在控制台项目中添加了引用单击右键,然后是“构建依赖项” - >“项目依赖项”。 这不起作用,但如果我添加右键单击引用然后“添加引用”它是有效的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.